原贴来自论坛 http://topic.csdn.net/u/20080423/09/108aacf7-4d67-4623-942b-79737960d198.html
来自
- yudi010
- (★★随风行云★★)
3楼的回复
此贴帮我解决了问题,特此感谢。拷贝如下,做备份。
使用log4net可以很方便地为应用添加日志功能。应用Log4net,使用者可以很精确地控制日志信息的输出,减少了多余信息,提高了日志记录性能。 同时,通过外部配置文件,用户可以不用重新编译程序就能改变应用的日志行为,使得用户可以根据情况灵活地选择要记录的信息。
程序里使用,你可以按照这样的步骤:
1.添加log4net引用
2.为项目新增一个文件,选取新增向导里的"应用程序配置文件",则项目里会增加一个app.config文件.当程序编译后,会在你的执行目录下生成一个<你的程序集名>.exe.config文件内容和本文件一样
3.编辑app.config文件如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,
log4net-net-1.0"
/>
</configSections>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<param name="File" value="log-file.txt" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}>%n - %m%n" />
</layout>
</appender>
</log4net>
</configuration>
这里请注意<configuration> 和<configurations>标签不能少
4.编辑Assembly.cs文件,添加如下内容:
[assembly:log4net.Config.DOMConfigurator( ConfigFileExtension="config",Watch=true)]
5.在程序里添加如下代码
log4net.ILog log = log4net.LogManager.GetLogger("MyLogger");
log.Debug("test");
这时你再运行程序,就应该可以看到结果了,我试过如果设置
level = "OFF",则输出是没有结果的,改成"ALL"是有结果的