谁知道log4net的日志文件如何可以动态保存在不同的文件夹中?
[已解决] 谁知道log4net的日志文件如何可以动态保存在不同的文件夹中?
当前页面:http://www.senparc.com/SZD-24
{ 收藏当前页面 }
50
[软件及编程 > C#]
谁知道log4net的日志文件如何可以动态保存在不同的文件夹中?
比如我原先的日志文件保存在\App_Data\Log下面,文件名是{日期}.txt,现在我希望可以根据不同的日期,保存在\App_Data\Log\{日期}\log.txt下面,不知道应该怎么做呢?
我找了好多地方,都没有理想的答案,特别是像在Application级别修改.config文件之类的方法就不要说了,这种做法很不好!
补充一下,我的配置文件是这样的:
文件名:log4net.config
内容:
<?xml version="1.0" encoding="utf-8"?>
<log4net>
<!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
<!-- Set root logger level to ERROR and its appenders -->
<root>
<level value="ALL"/>
<appender-ref ref="SysAppender"/>
</root>
<!-- Print only messages of level DEBUG or above in the packages -->
<logger name="WebLogger">
<level value="DEBUG"/>
</logger>
<appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" value="App_Data/Log/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value=""Logs_"yyyyMMdd".txt"" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
<param name="Header" value=" ----------------------header-------------------------- " />
<param name="Footer" value=" ----------------------footer-------------------------- " />
</layout>
</appender>
<appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
</log4net>
比如我原先的日志文件保存在\App_Data\Log下面,文件名是{日期}.txt,现在我希望可以根据不同的日期,保存在\App_Data\Log\{日期}\log.txt下面,不知道应该怎么做呢?
我找了好多地方,都没有理想的答案,特别是像在Application级别修改.config文件之类的方法就不要说了,这种做法很不好!
补充一下,我的配置文件是这样的:
文件名:log4net.config
内容:
<?xml version="1.0" encoding="utf-8"?>
<log4net>
<!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
<!-- Set root logger level to ERROR and its appenders -->
<root>
<level value="ALL"/>
<appender-ref ref="SysAppender"/>
</root>
<!-- Print only messages of level DEBUG or above in the packages -->
<logger name="WebLogger">
<level value="DEBUG"/>
</logger>
<appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" value="App_Data/Log/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value=""Logs_"yyyyMMdd".txt"" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
<param name="Header" value=" ----------------------header-------------------------- " />
<param name="Footer" value=" ----------------------footer-------------------------- " />
</layout>
</appender>
<appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
</log4net>
最佳答案
只需要将:
<param name="DatePattern" value=""Logs_"yyyyMMdd".txt"" />
这一行修改为:
<param name="DatePattern" value=""Logs_"yyyyMMdd\\"log.txt"" />
就可以了。
其中\\表示下一级目录,同样的方法,你还可以把日志分别根据年、月、日等形式在不同的文件夹(层次)中体现出来。
<param name="DatePattern" value=""Logs_"yyyyMMdd".txt"" />
这一行修改为:
<param name="DatePattern" value=""Logs_"yyyyMMdd\\"log.txt"" />
就可以了。
其中\\表示下一级目录,同样的方法,你还可以把日志分别根据年、月、日等形式在不同的文件夹(层次)中体现出来。
回答时间:2010/2/25 14:36:32
| 回答者:Admin
其他参考答案(1)
提交失败!请检查错误!错误信息:
以下信息或许对您有用:
- [已解决] 5 ArrayList或者HashTable支持序列化和反序列化吗? 2010/9/9 23:12:41
- [已解决] 5 JSON.Net的SerializeObject可以处理List数据吗? 2010/9/9 23:05:22
- [已解决] 10 在VS2010中装Silverlight tools 4出错 2010/8/13 8:40:43
- [已解决] 5 C#中如何取余数? 2010/8/3 18:39:49
- [已解决] 10 C#中委托能不能序列化?WCF中需要传递委托! 2010/7/31 11:09:43