using Furion.Logging;
namespace Admin.NET.Core;
///
/// 数据库日志写入器
///
public class DbLoggingWriter : IDatabaseLoggingWriter
{
private readonly SqlSugarRepository _sysOpLogRep;
public DbLoggingWriter(SqlSugarRepository sysOpLogRep)
{
_sysOpLogRep = sysOpLogRep;
}
public async void Write(LogMessage logMsg, bool flush)
{
await _sysOpLogRep.InsertAsync(new SysLogOp
{
LogName = logMsg.LogName,
LogLevel = logMsg.LogLevel.ToString(),
EventId = JSON.Serialize(logMsg.EventId),
Message = logMsg.Message,
Exception = logMsg.Exception == null ? "" : JSON.Serialize(logMsg.Exception),
});
}
}