JUST DO IT ~

我只想当个程序员

转 log4net winform



http://blog.dic123.com/article.asp?id=109

很抱歉,这一段时间一直很忙,所以现在才回复.我看你上面的配置文件,猜想可能是你编写配置文件的方式不正确.如果是在WinForm程序里使用,你可以按照这样的步骤:
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"是有结果的
我在文章的开头添加了示例代码下载,你可以参考参考


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  
<configSections>
    
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  
</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">
        
<conversionPattern value="[%utcdate{yyyy-MM-dd HH:mm:ss.ff}] [%thread] [%-5level] [%logger] - %message%newline" />
      
</layout>

    
</appender>


    
<!-- 
    <logger name="WindowsFormsApplication1.Form1">
      <appender-ref ref="B"
    <level value="INFO" />
    <appender-ref ref="LogFileAppender" />
    </logger>
    
    
-->
    
    
<logger name="WindowsFormsApplication1">
      
<!-- <appender-ref ref="B" /> -->
      
<level value="INFO" />
      
<appender-ref ref="LogFileAppender" />
    
</logger>
    
    
  
</log4net>

</configuration>










posted on 2008-08-30 23:25 小高 阅读(814) 评论(0)  编辑  收藏 所属分类: DotNet


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿(3)

随笔分类(352)

收藏夹(19)

关注的blog

手册

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜