[EnterpriseLibraryfor.NETFramework2.0]自定义日志路径或日志文件名称

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

有时候,日志输出的时候会根据时间来分类,譬如“20140821\trace.log”,在EnterPRise Library中通过工具配置,只能定义日志文件名称,可以通过代码修改FlatFileTraceListenerData实现或Custom Trace Listener方式,

通过代码修改FlatFileTraceListenerData实现代码如下:

publicstaticstringGetTraceLogPath(stringlistenersName)

{string_tracePath =string.Empty;if(!string.IsNullOrEmpty(listenersName))

{

Configuration _etlConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

LoggingSettings _loggingSettings = (LoggingSettings)_etlConfig.GetSection(LoggingSettings.SectionName);

FlatFileTraceListenerData _listeners = _loggingSettings.TraceListeners.Get(listenersName)asFlatFileTraceListenerData;if(_listeners !=null)

{

_tracePath = _listeners.FileName;

}

}return_tracePath;

}publicstaticvoidSetTraceLogPath(stringlistenersName,stringfileName)

{if(!string.IsNullOrEmpty(listenersName) && !string.IsNullOrEmpty(fileName))

{

Configuration _etlConfig = ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.None);

LoggingSettings _loggingSettings = (LoggingSettings)_etlConfig.GetSection(LoggingSettings.SectionName);

FlatFileTraceListenerData _listeners = _loggingSettings.TraceListeners.Get(listenersName)asFlatFileTraceListenerData;if(_listeners !=null)

{

_listeners.FileName = fileName;

_etlConfig.Save();

}

}

}

测试代码:

try{string_listenName ="FlatFile TraceListener";

SetTraceLogPath(_listenName,string.Format(@"{0}/trace.log", DateTime.Now.ToString("yyyyMMdd")));

LogEntry log =newLogEntry();

log.Categories.Add("Warning");

log.Title ="测试";

log.Message ="日志日志内容";

Logger.Write(log);

LogEntry log2 =newLogEntry();

log2.Categories.Add("Warning");

log2.Title ="测试2";

log2.Message ="日志日志内容2";

Logger.Write(log2);

Console.WriteLine(GetTraceLogPath(_listenName));

}catch(Exception ex)

{

Console.WriteLine(ex.Message);

}finally{

Console.ReadLine();

}

.csharpcode, .csharpcode pre

{

font-size: small;

color: black;

font-family: consolas, "Courier New", courier, monospace;

background-color: #ffffff;

/*white-space: pre;*/

}

.csharpcode pre { margin: 0em; }

.csharpcode .rem { color: #008000; }

.csharpcode .kwrd { color: #0000ff; }

.csharpcode .str { color: #006080; }

.csharpcode .op { color: #0000c0; }

.csharpcode .preproc { color: #cc6633; }

.csharpcode .asp{ background-color: #ffff00; }

.csharpcode .html { color: #800000; }

.csharpcode .attr { color: #ff0000; }

.csharpcode .alt

{

background-color: #f4f4f4;

width: 100%;

margin: 0em;

}

.csharpcode .lnum { color: #606060; }测试效果:

希望有所帮助

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航