我们介绍一下在项目中配置log4net,是Apache基金会旗下的。
无论在什么环境中,配置log4net的逻辑都一样。
1)文件配置
首先在项目加载文件中,配置log4net加载项。
在Web项目中在web.config配置,在系统服务、桌面程序在app.config配置。
比如,在web.config中加入配置:(注意section元素是在configSections之下)
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
再在configuration节点下添加:
<log4net> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <!--日志记录器logger,可以有多个--> <logger name="WebSvrLog"> <level value="ERROR" /> <appender-ref ref="RollingLogFileAppender" /> </logger> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <!--log存放的路径--> <param name="File" value="_log_" /> <param name="AppendToFile" value="true" /> <param name="StaticLogFileName" value="false" /> <param name="MaximumFileSize" value="10MB" /> <param name="Threshold" value="ALL" /> <param name="DatePattern" value="yyyyMM"\log_"yyyyMMdd".log"" /> <param name="RollingStyle" value="Composite" /> <param name="CountDirection" value="1" /> <param name="AppendToFile" value="true" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] %X{auth} - %m%n" /> </layout> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> </appender> </log4net>
注意修改一下.NETFramework的version,这里是4.5.
配置的问题一看名字就知道是什么意思了,这里不详述。有一个说明的是logger的name=WebSvrLog,代码要调出这个配置需要用到name来获取。这里level是ERROR级别,还有WARN/DEBUG级别。
2)加载log配置文件
在上面配置了log文件之后,要加载。如果在web项目中,在Global文件中加载就可以了。加载代码如下:
log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~/Web.config")));
如果你是其他文件,就选择加载其他路径的文件。
3)在代码上写一个全局的Log就行了,代码如下:
static log4net.ILog Log = log4net.LogManager.GetLogger("WebSvrLog");
这行代码意思是根据name获取log。
可以关注本人的公众号,多年经验的原创文章共享给大家。
完毕