LogWriter.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using log4net.Core;
  6. using System.Reflection;
  7. namespace Aitex.Core.RT.Log
  8. {
  9. class LogWriter
  10. {
  11. private readonly static Type ThisDeclaringType = typeof(LogWriter);
  12. private readonly ILogger defaultLogger;
  13. public LogWriter()
  14. {
  15. defaultLogger = log4net.Core.LoggerManager.GetLogger(Assembly.GetExecutingAssembly(), "CommonLogger");
  16. }
  17. string FormatLogString(LogItem logItem)
  18. {
  19. string fileName = string.Empty;
  20. string result = logItem.msg;
  21. try
  22. {
  23. //fileName = logItem.sf.GetFileName().Substring(logItem.sf.GetFileName().LastIndexOf('\\') + 1);
  24. //2014-10-17 17:53:51.9 INFO Log.cs Line:50 - Config模块初始化成功。
  25. var temp = logItem.sf.GetFileName();
  26. if (temp != null)
  27. {
  28. fileName = temp.Substring(temp.LastIndexOf('\\') + 1);
  29. }
  30. }
  31. catch (Exception)
  32. {
  33. fileName = string.Empty;
  34. }
  35. try
  36. {
  37. //result = string.Format("{0} LOG.{1} {2} Line:{3} {4}() - {5}", logItem.dt.ToString("yyyy-MM-dd HH:mm:ss.fff"),
  38. // logItem.lv.Name,
  39. // fileName,
  40. // logItem.sf.GetFileLineNumber().ToString(),
  41. // logItem.sf.GetMethod().Name,
  42. // logItem.msg);
  43. //result = string.Format("{0}\t{1}\t{2}\t{3}", logItem.dt.ToString("yyyy-MM-dd HH:mm:ss.fff"),
  44. // logItem.lv.Name,
  45. // logItem.StackFile,
  46. // logItem.msg);
  47. result = string.Format("{0}\t{1}\t{2} ", logItem.dt.ToString("yyyy-MM-dd HH:mm:ss.fff"),
  48. logItem.lv.Name,
  49. logItem.msg);
  50. }
  51. catch (Exception)
  52. {
  53. }
  54. return result;
  55. }
  56. public string Write(LogItem logItem)
  57. {
  58. string log = FormatLogString(logItem);
  59. if (defaultLogger.IsEnabledFor(logItem.lv))
  60. {
  61. defaultLogger.Log(typeof(LogWriter), logItem.lv, log, logItem.ex);
  62. }
  63. return log;
  64. }
  65. }
  66. }