实现结果:在本地生成日志文件,在文件中记录日志
环境:vs2013
首先,在项目中添加log4net程序包,两种方法:1,程序包管理控制台,代码添加 Install-Package log4net。2,右击项目,管理nuget程序包,搜索log4net,添加。
在app.config或者web.config中添加log4net配置,在configSections里面添加section节点:
<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
在configuration添加配置,如下所示:
<log4net>
<root>
<appender-ref ref="LogFileAppender" />
</root>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="D:/Log4netfile.txt" /><!--存放的路径-->
<appendToFile value="true" />
<rollingStyle value="Date" />
<LockingModel type="log4net.Appender.FileAppender+MinimalLock, log4net"/>
<datePattern value="yyyyMMdd-HH:mm:ss" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] %X{auth} - Line:%L %m%n" />
</layout>
</appender>
</log4net>
在程序里面使用时可以如下所示:
ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
log.Error("error", new Exception("发生异常"));
log.Fatal("fatal", new Exception("致命错误"));
log.Info("info");
log.Debug("debug");
log.Warn("warn");
只是简单的实现,复杂的业务以后会学习。
作为小白的第一篇博文,代码也是搬得别人的,忘了地址,若是看着眼熟,请大人大量轻点拍砖。
最近研究ABP看累了,就想把几个模块分开学习,以后会整理最近学到的EntityFramework,MVC,Nancy。还要看AOP,IOC框架的整合(应该是Spring了)。
吾生也有涯,而知也无涯,以有涯随无涯,乐矣~
---------------------------------20160718----------------------------------------------------------
今天在应用时出现问题,搞了好久发现是忘了一个重要步骤
在代码前需要加这样的语句(应该是初始化吧)
using System.Timers; [assembly: log4net.Config.XmlConfigurator(Watch = true)] namespace ElandRetailDataService {
现在可以了~