使用Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener在C#app.config文件名中追加日期
我正在C#应用程序的app.config中使用Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener,如下所示:使用Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener在C#app.config文件名中追加日期,c#,logging,tracelistener,C#,Logging,Tracelistener,我正在C#应用程序的app.config中使用Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener,如下所示: <listeners> <add name="Rolling Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Log
<listeners>
<add name="Rolling Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
fileName="RollingFlatFile.log"
footer="----------------------------------"
formatter="Text Formatter"
header="" rollInterval="Day"
timeStampPattern="yyyy-MM-dd hh:mm:ss"
traceOutputOptions="DateTime, Timestamp"
filter="All" />
<add name="Event Log Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" source="Application" formatter="Text Formatter" log="Application" machineName="." traceOutputOptions="None" />
</listeners>
我希望文件名应该包含日期,也像RollingFlatFile\u 19Nov2020.log。任何人都可以帮助我如何仅通过更改此配置文件来实现这一点。解决方案:
通过代码在环境变量中设置日期。该变量可以访问ro web.config或app.config。下面是一个例子-
C#代码-
在app.config中,我们可以这样使用这个变量-
<add name="Rolling Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
fileName="Logs/RollingFlatFile_%TODAYDATE%.log"
footer="----------------------------------"
formatter="Text Formatter"
header="" rollInterval="Day"
timeStampPattern="yyyy-MM-dd hh:mm:ss"
traceOutputOptions="DateTime, Timestamp"
filter="All" />
它将在文件夹Logs中创建日志文件,文件名为RollingFlatFile\u 14\u 12\u 2020。log
<add name="Rolling Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
fileName="Logs/RollingFlatFile_%TODAYDATE%.log"
footer="----------------------------------"
formatter="Text Formatter"
header="" rollInterval="Day"
timeStampPattern="yyyy-MM-dd hh:mm:ss"
traceOutputOptions="DateTime, Timestamp"
filter="All" />