LoggingEventAppender.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using log4net.Appender;
  2. using log4net.Core;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace SKMC.Api.Common.Logger
  9. {
  10. /// <summary>
  11. /// log4net 扩展
  12. /// </summary>
  13. public class LoggingEventAppender : AppenderSkeleton
  14. {
  15. static readonly int LOGVIEW_MAXLINE = 1000;
  16. private readonly LogDataService logDataService = LogDataService.Instance();
  17. protected override void Append(LoggingEvent loggingEvent)
  18. {
  19. //logDataService.LogEventModels.Insert(0, new LoggingEventModel(loggingEvent));
  20. //if (logDataService.LogEventModels.Count == LOGVIEW_MAXLINE)
  21. //{
  22. // logDataService.LogEventModels.RemoveAt(LOGVIEW_MAXLINE - 1);
  23. //}
  24. logDataService.LogEventModels.Add(new LoggingEventModel(loggingEvent));
  25. if (logDataService.LogEventModels.Count == LOGVIEW_MAXLINE)
  26. {
  27. logDataService.LogEventModels.RemoveAt(0);
  28. }
  29. }
  30. }
  31. }