DbLoggingWriter.cs 767 B

12345678910111213141516171819202122232425262728
  1. using Furion.Logging;
  2. namespace Admin.NET.Core;
  3. /// <summary>
  4. /// 数据库日志写入器
  5. /// </summary>
  6. public class DbLoggingWriter : IDatabaseLoggingWriter
  7. {
  8. private readonly SqlSugarRepository<SysLogOp> _sysOpLogRep;
  9. public DbLoggingWriter(SqlSugarRepository<SysLogOp> sysOpLogRep)
  10. {
  11. _sysOpLogRep = sysOpLogRep;
  12. }
  13. public async void Write(LogMessage logMsg, bool flush)
  14. {
  15. await _sysOpLogRep.InsertAsync(new SysLogOp
  16. {
  17. LogName = logMsg.LogName,
  18. LogLevel = logMsg.LogLevel.ToString(),
  19. EventId = JSON.Serialize(logMsg.EventId),
  20. Message = logMsg.Message,
  21. Exception = logMsg.Exception == null ? "" : JSON.Serialize(logMsg.Exception),
  22. });
  23. }
  24. }