LogProvider now usues petapoco

This commit is contained in:
kay.one 2011-06-17 17:11:12 -07:00
commit f4801901a7
8 changed files with 234 additions and 157 deletions

View file

@ -1,14 +1,16 @@
using System;
using PetaPoco;
using SubSonic.SqlGeneration.Schema;
namespace NzbDrone.Core.Instrumentation
{
[TableName("Logs")]
[PrimaryKey("LogId", autoIncrement = true)]
public class Log
{
[SubSonicPrimaryKey]
public int LogId { get; protected set; }
[SubSonicLongString]
public Int64 LogId { get; protected set; }
public string Message { get; set; }
public DateTime Time { get; set; }
@ -17,11 +19,8 @@ namespace NzbDrone.Core.Instrumentation
public string Method { get; set; }
[SubSonicNullString]
[SubSonicLongString]
public string Exception { get; set; }
[SubSonicNullString]
public string ExceptionType { get; set; }
public String Level { get; set; }

View file

@ -1,27 +1,31 @@
using System.Linq;
using System.Collections.Generic;
using System.Linq;
using NLog;
using PetaPoco;
using SubSonic.Repository;
namespace NzbDrone.Core.Instrumentation
{
public class LogProvider
{
private readonly IDatabase _database;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private readonly IRepository _repository;
public LogProvider(IRepository repository)
public LogProvider(IDatabase database)
{
_repository = repository;
_database = database;
}
public IQueryable<Log> GetAllLogs()
public IList<Log> GetAllLogs()
{
return _repository.All<Log>();
return _database.Fetch<Log>();
}
public void DeleteAll()
{
_repository.DeleteMany(GetAllLogs());
_database.Delete<Log>("");
Logger.Info("Cleared Log History");
}
}

View file

@ -1,17 +1,18 @@
using System;
using NLog;
using NLog.Targets;
using PetaPoco;
using SubSonic.Repository;
namespace NzbDrone.Core.Instrumentation
{
public class SubsonicTarget : Target
{
private readonly IRepository _repository;
private readonly IDatabase _database;
public SubsonicTarget(IRepository repository)
public SubsonicTarget(IDatabase database)
{
_repository = repository;
_database = database;
}
protected override void Write(LogEventInfo logEvent)
@ -47,7 +48,7 @@ namespace NzbDrone.Core.Instrumentation
log.Level = logEvent.Level.Name;
_repository.Add(log);
_database.Insert(log);
}
}
}