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), }); } }