public void EmitLog(LogEntry log) { if (!Directory.Exists(m_LogFolderPath)) { Directory.CreateDirectory(m_LogFolderPath); } WriteToFile(new XmlSerializer().Serialization(log,log.GetType()), Path.Combine(m_LogFolderPath, DateTime.Now.ToString("yyyy-MM-dd") + ".txt")); }
/// <summary> /// 记录错误日志 /// </summary> /// <param name="log"></param> public void Log(LogEntry log) { string m_LogFolderPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "Log"); try { CustomDataCommand command = DataCommandManager.CreateCustomDataCommandFromConfig("CreateLogo"); command.SetParameterValue<LogEntry>(log); int result = command.ExecuteNonQuery(); } catch (Exception ex) { if (!Directory.Exists(m_LogFolderPath)) { Directory.CreateDirectory(m_LogFolderPath); } WriteToFile(new XmlSerializer().Serialization(log, log.GetType()), Path.Combine(m_LogFolderPath, DateTime.Now.ToString("yyyy-MM-dd") + ".txt")); } }
private static string WriteLog(LogEntry log, List<ILogEmitter> logEmitterList) { if (logEmitterList == null || logEmitterList.Count <= 0) { return log.LogID; } try { log.CheckData(); foreach (var logEmitter in logEmitterList) { if (logEmitter == null) { continue; } try { logEmitter.EmitLog(log); } catch (Exception ex) { string message = string.Format("Write log failed.\r\n\r\n Error Info: {0}. \r\n\r\n Log Type: {1}. \r\n\r\n Log Info: {2}", ex.ToString(), logEmitter.GetType().AssemblyQualifiedName, new XmlSerializer().Serialization(log,log.GetType())); Logger.WriteEventLog("ECCentral.Service.Utility_LoggingComponent", message, EventLogEntryType.Error); } } } catch (Exception ex) { string message = string.Format("Write log failed.\r\n\r\n Error Info: {0}. \r\n\r\n Log Info: {1}", ex.ToString(), new XmlSerializer().Serialization(log,log.GetType())); Logger.WriteEventLog("ECCentral.Service.Utility_LoggingComponent", message, EventLogEntryType.Error); } return log.LogID; }