_LogWriter.cs
上传用户:horngjaan
上传日期:2009-12-12
资源大小:2882k
文件大小:2k
源码类别:

Email服务器

开发平台:

C#

  1. using System;
  2. namespace LumiSoft.MailServer
  3. {
  4. /// <summary>
  5. /// Cached log writer.
  6. /// </summary>
  7. internal class _LogWriter
  8. {
  9. private string          m_Log        = "";
  10. private LogEventHandler m_LogHandler = null;
  11. private bool            m_Flushed    = false;
  12. /// <summary>
  13. /// Default constructor.
  14. /// </summary>
  15. /// <param name="logHandler"></param>
  16. public _LogWriter(LogEventHandler logHandler)
  17. {
  18. m_LogHandler = logHandler;
  19. }
  20. #region function AddEntry
  21. /// <summary>
  22. /// Writes log entry to log cache.
  23. /// </summary>
  24. /// <param name="logText"></param>
  25. /// <param name="sessionID"></param>
  26. /// <param name="IP"></param>
  27. /// <param name="prefix"></param>
  28. public void AddEntry(string logText,string sessionID,string IP,string prefix)
  29. {
  30. if(4 - sessionID.Length > 0){
  31. for(int i=0;i<4-sessionID.Length;i++){
  32. sessionID = " " + sessionID;
  33. }
  34. }
  35. string logEntry = "";
  36. if(prefix == "C"){
  37. logEntry = "SessionID: " + sessionID + "  IP: " + IP + "  >>>  " + prefix + ": '" + logText + "'";
  38. m_Log += logEntry + "rn";
  39. return;
  40. }
  41. if(prefix == "S"){
  42. logEntry = "SessionID: " + sessionID + "  IP: " + IP + "  <<<  " + prefix + ": '" + logText + "'";
  43. m_Log += logEntry + "rn";
  44. return;
  45. }
  46. logEntry = "SessionID: " + sessionID + "  IP: " + IP + "  >>>  " + prefix + ": '" + logText + "'";
  47. m_Log += logEntry + "rn";
  48. }
  49. /// <summary>
  50. /// 
  51. /// </summary>
  52. /// <param name="logText"></param>
  53. public void AddEntry(string logText)
  54. {
  55. m_Log += logText + "rn";
  56. }
  57. #endregion
  58. #region function Flush
  59. /// <summary>
  60. /// Writes all log entries to log file.
  61. /// </summary>
  62. public void Flush()
  63. {
  64. if(!m_Flushed && m_LogHandler != null){
  65. m_LogHandler(this,new Log_EventArgs(m_Log));
  66. // Core.WriteLog(m_LogFile,m_Log);
  67. m_Flushed = true;
  68. }
  69. }
  70. #endregion
  71. }
  72. }