コード例 #1
0
 /// <summary>
 /// 存储日志对象实例。
 /// </summary>
 /// <param name="logType">日志类型。</param>
 /// <param name="logContent">日志内容。</param>
 protected virtual void RecordLogs(EnumLogsType logType, string logContent)
 {
     try
     {
         this.OnLogRecordEvent(logType, logContent);
         this.storage.StorageLog(logType, logContent);
     }
     catch (Exception e)
     {
         string path = string.Format("{0}\\ERROR_{1:yyyyMMdd-HHmm}.txt", AppDomain.CurrentDomain.BaseDirectory, DateTime.Now);
         using (StreamWriter sw = new StreamWriter(path, true, UTF8Encoding.UTF8))
         {
             sw.WriteLine();
             sw.WriteLine(string.Format("记录日志时发生灾难性错误[{0:yyyy-MM-dd HH:mm:ss}]:", DateTime.Now));
             this.WriteException(sw, e);
         }
     }
 }
コード例 #2
0
 /// <summary>
 /// 触发日志记录事件。.
 /// </summary>
 /// <param name="logType">日志类型。</param>
 /// <param name="logContent">日志内容。</param>
 protected virtual void OnLogRecordEvent(EnumLogsType logType, string logContent)
 {
     LogRecordHandler handler = this.LogRecordEvent;
     if (handler != null)
     {
         handler(logType, logContent);
     }
 }
コード例 #3
0
 /// <summary>
 /// 记录日志。
 /// </summary>
 /// <param name="logType">日志类型。</param>
 /// <param name="logContent">日志内容。</param>
 public void StorageLog(EnumLogsType logType, string logContent)
 {
     string path = this.GetLogStoragePath(logType);
     string log = this.CreateLogBody(logContent);
     if (!string.IsNullOrEmpty(log) && !string.IsNullOrEmpty(path))
     {
         Logger logger = loadLogger(path);
         if (logger != null)
         {
             logger.AppendLine(log);
         }
     }
 }
コード例 #4
0
 /// <summary>
 /// 日志文件的完整路径。
 /// </summary>
 /// <param name="logType"></param>
 /// <returns></returns>
 protected virtual string GetLogStoragePath(EnumLogsType logType)
 {
     string filename = string.Format("{0}_{1}_{2}.log", this.head.LogFileHead, logType, this.LogFileEndTime);
     return Path.GetFullPath(string.Format("{0}\\{1}", this.config.StoragePath, filename));
 }
コード例 #5
0
 /// <summary>
 /// 日志记录。
 /// </summary>
 /// <param name="logType"></param>
 /// <param name="logContent"></param>
 private void LogRecord(EnumLogsType logType, string logContent)
 {
     this.OnChanged(string.Format("[{0:yyyy-MM-dd HH:mm:ss.fff}]{1}#{2}", DateTime.Now, logType, logContent));
 }