昨天园子里朋友问起:利用log4net向文件里记录日志不成功!
因为以前邀月曾经在写入SQL时费了一番周折,以为这次应该不会有问题,如法炮制即可。可以参考
log4net写入到SQL server的基本配置(downmoon)
不料试了一下,使用最新版版的log4net1.2.10 ,发现FileAppender老是不成功!
把步骤写下来:
先将下载的log4net.dll添加引用,再在(用的是Console Application)AssemblyInfo.cs中添加:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

并添加独立的lognet.config文件如下:

log4net写入日志文件示例时一个奇怪的错误(附源码下载)<?xml version="1.0"?>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)
<configuration>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)    
<configSections>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)    
</configSections>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)    
<log4net>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        
<!--Log4net Begin by Tony  2009.09.28-->
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
<file value="D:\\Log4netDemo.txt" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
<appendToFile value="true" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
<layout type="log4net.Layout.PatternLayout">
log4net写入日志文件示例时一个奇怪的错误(附源码下载)                
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
</layout>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        
</appender>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        
<!-- setup the root category, add the appenders and set the default level -->
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        
<root>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
<level value="DEBUG"/>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
<appender-ref ref="LogFileAppender" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        
</root>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        
<!-- specify the level for some specific categories -->
log4net写入日志文件示例时一个奇怪的错误(附源码下载)       
<!-- <logger name="iNotes">
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            <level value="WARN"/>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            <level value="INFO"/>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            <level value="DEBUG"/>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            <level value="FINE"/>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            <appender-ref ref="LogFileAppender"/>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        </logger>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        <logger name="StellaLogger">
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            <level value="ALL"/>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            <appender-ref ref="LogFileAppender" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        </logger>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)
-->
log4net写入日志文件示例时一个奇怪的错误(附源码下载)    
</log4net>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)    
<!--Log4net End-->
log4net写入日志文件示例时一个奇怪的错误(附源码下载)
log4net写入日志文件示例时一个奇怪的错误(附源码下载)
log4net写入日志文件示例时一个奇怪的错误(附源码下载)
</configuration>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)


这是参考官方配置写的,应该不会有问题。不过始终没有写成功!
测试代码如下:

log4net写入日志文件示例时一个奇怪的错误(附源码下载)
log4net写入日志文件示例时一个奇怪的错误(附源码下载)
namespace TestLog4NetFile


不知道原因,后来看到有人在winform下写入成功,用的是log4net.Appender.RollingFileAppender
试着改了下配置文件,结果调试成功!修改后的配置文件如下:

log4net写入日志文件示例时一个奇怪的错误(附源码下载)<?xml version="1.0" encoding="utf-8"?>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)
<configuration>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)    
<configSections>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)    
</configSections>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)    
<log4net>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
<param name="File" value="d:\\Log4netDemo" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
<param name="AppendToFile" value="true" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
<param name="MaxSizeRollBackups" value="10" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
<param name="StaticLogFileName" value="false" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
<param name="DatePattern" value="yyyyMMddHH&quot;.log&quot;"  />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
<param name="RollingStyle" value="Date" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
<layout type="log4net.Layout.PatternLayout">
log4net写入日志文件示例时一个奇怪的错误(附源码下载)                
<!--<param name="conversionPattern" value="%d [%t] 日志级别:%-5p 出错类: %l - 描述:%message%newline" />-->
log4net写入日志文件示例时一个奇怪的错误(附源码下载)                
<param name="ConversionPattern" value="%d [%t] %-5p %l  %m  %n" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
</layout>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        
</appender>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        
<root>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
<level value="All" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)            
<appender-ref ref="LogFileAppender" />
log4net写入日志文件示例时一个奇怪的错误(附源码下载)        
</root>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)    
</log4net>
log4net写入日志文件示例时一个奇怪的错误(附源码下载)
</configuration>


调试结果如图:
log4net写入日志文件示例时一个奇怪的错误(附源码下载)

希望有高手解答一下这是为何?有时间自己再研究一下。 后来试了下,奇怪,以前的配置文件也可以写成功!难道是log4net版本的问题?下载最新源码1.2.10调试后发现成功·用release生成的dll也成功· 真的是不明白。
源码下载

相关文章:

  • 2021-11-11
  • 2022-02-16
  • 2021-11-21
  • 2021-11-17
  • 2021-08-05
  • 2022-01-14
  • 2022-12-23
  • 2021-08-31
猜你喜欢
  • 2021-09-21
  • 2021-12-03
  • 2022-12-23
  • 2021-07-08
  • 2021-11-05
  • 2021-09-27
  • 2022-12-23
相关资源
相似解决方案