namespace Admin.NET.Core; /// /// 数据库日志写入器 /// public class DbLoggingWriter : IDatabaseLoggingWriter { private readonly SqlSugarRepository _sysLogOpRep; // 操作日志 private readonly SqlSugarRepository _sysLogExRep; // 异常日志 public DbLoggingWriter(SqlSugarRepository sysLogOpRep, SqlSugarRepository sysLogExRep) { _sysLogOpRep = sysLogOpRep; _sysLogExRep = sysLogExRep; } public void Write(LogMessage logMsg, bool flush) { if (logMsg.LogLevel == Microsoft.Extensions.Logging.LogLevel.Information) { _sysLogOpRep.Insert(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), }); } else { _sysLogExRep.Insert(new SysLogEx { LogName = logMsg.LogName, LogLevel = logMsg.LogLevel.ToString(), EventId = JSON.Serialize(logMsg.EventId), Message = logMsg.Message, Exception = logMsg.Exception == null ? "" : JSON.Serialize(logMsg.Exception), }); } } }