ef4d5326a8658e4894726640ee58690fb32bb310.svn-base 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using System;
  2. using System.IO;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. namespace STMes
  6. {
  7. public interface ILogService
  8. {
  9. void WriteLog(string message);
  10. }
  11. public class CoreWriteLogFile : ILogService
  12. {
  13. private static object lockObj = new object();
  14. #region ILogService ³ÉÔ±
  15. public void WriteLog(string message)
  16. {
  17. WriteLog(message, LogInfoLevel.Message, "", "");
  18. }
  19. public void WriteLog(string message, LogInfoLevel level)
  20. {
  21. WriteLog(message, level, "", "");
  22. }
  23. public void WriteLog(string message, string UserID, string codeInfo)
  24. {
  25. WriteLog(message, LogInfoLevel.Message, UserID, codeInfo);
  26. }
  27. public void WriteLog(string message, LogInfoLevel level, string UserID, string codeInfo)
  28. {
  29. lock (lockObj)
  30. {
  31. try
  32. {
  33. string logFile = System.Environment.CurrentDirectory + "/log/" + "DBProxy_"+DateTime.Now.ToString("yyyyMMdd") + "_log.log";
  34. FileInfo fi = new FileInfo(logFile);
  35. StreamWriter sw = null;
  36. try
  37. {
  38. if (fi.Exists)
  39. sw = fi.AppendText();
  40. else
  41. sw = fi.CreateText();
  42. string str = "";
  43. if (level == LogInfoLevel.Error)
  44. str = ">>> Error <<<";
  45. else
  46. str = ">>> Message <<<";
  47. string title = ">>> " + DateTime.Now + " <<<";
  48. title += str;
  49. if (UserID != "")
  50. {
  51. title += ">>> " + UserID + " <<<";
  52. }
  53. if (codeInfo != "")
  54. {
  55. title += ">>> " + codeInfo + " <<<";
  56. }
  57. sw.WriteLine(title);
  58. sw.WriteLine(message);
  59. sw.WriteLine();
  60. sw.Flush();
  61. }
  62. finally
  63. {
  64. if (sw != null)
  65. sw.Close();
  66. }
  67. }
  68. catch
  69. {
  70. // do nothing.
  71. }
  72. }
  73. }
  74. #endregion
  75. }
  76. public enum LogInfoLevel
  77. {
  78. Error = 1,
  79. Message = 2
  80. }
  81. }