1.引入添加log4net.dll引用
2.建立配置文件Log4Net.config(名字自定义).文件内容参考,输出的文件名称可更改 .运行是要放入到相应bin/debug(release) 目录
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections> <log4net debug="true">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs/app.log" />
<!--file可以指定具体的路径 eg : d:\\test.log。不指定的话log被生成在项目的bin/Debug 或者 bin/Release目录下 (web的项目 默认生成在根目录下)-->
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<!--备份log文件的个数最多10个-->
<maximumFileSize value="2MB" />
<!--每个log文件最大是2M,如果超过2M将重新创建一个新的log文件,并将原来的log文件备份。-->
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<!--指定log的格式-->
<conversionPattern value="[%date] %thread -- %-5level -- %logger [%M] -- %message%newline" />
</layout>
</appender> <root>
<level value="DEBUG" />
<!--指定将此级别及以上的log打印到log文件中-->
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
</configuration>
3.在AssemblyInfo.cs中添加:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)] //配置文件名与之前建立的对应.
4.在需要的输出日志的代码中加入:
private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
5.之后就可以使用:
log.info() .... 等输出不同级别的日志了..
部分内容参考:
http://logging.apache.org/log4net/release/manual/introduction.html
http://logging.apache.org/log4net/release/config-examples.html 官方网站