Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener在C#app.config文件名中追加日期_C#_Logging_Tracelistener - Fatal编程技术网

使用Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener在C#app.config文件名中追加日期

使用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

我正在C#应用程序的app.config中使用Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener,如下所示:

 <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" />