只是记录不描述。 详细看官方网站。
Winform
<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
Web
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
<log4net> <appender name="FileAppender" type="log4net.Appender.RollingFileAppender"> <file value="log/Log.txt" /> <appendToFile value="true" /> <rollingStyle value="Date" /> <datePattern value="yyyyMMdd".txt"" /> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%n" /> </layout> </appender> <root> <level value="INFO" /> <appender-ref ref="FileAppender" /> </root> </log4net>
在Namespace的上方写一个,那个Dll 需要就要往那个dll加。
Winform or Dll 需要加入下面一项,一般加入Assembly.cs
[assembly: XmlConfigurator(Watch = true)] namespace namespace {
}
LOG Level
OFF>FATAL > ERROR > WARN > INFO > DEBUG > ALL
不锁死文件:<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
变量集合
%newline%
Filter
在appender里面的filter,我一般用于分离输出的,如Error Fatal一个文件,INFO WARN一个文件之类的。
下面这个是只输出 WARN 和 INFO信息。 最后一个的DenyAllFilter 是必须的。Value不区分大小写,很有Microsoft的风格。
<filter type="log4net.Filter.LevelMatchFilter">
<param name="LevelToMatch" value="WARN" />
</filter>
<filter type="log4net.Filter.LevelMatchFilter">
<param name="LevelToMatch" value="INFO" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />