ASP.NET 添加日志记录功能
最近接手了一个.net项目的维护,维护过程中发现项目没有引入日志记录功能,这对代码的调试和问题追踪无疑造成了极大的不方便,习惯了java的各种日志记录再换过来及其难受,遂决定给该项目添加日志记录功能。 百度一番发现Log4j也有.net版本Log4Net,嘿嘿,官网看了看不是很复杂使用起来也很方便。 官网链接目前最新版本是2.0.8,首先下载下来在工程中引入dll文件,具体怎么引入不需要我介绍了吧。 要使用Log4Net首先需要在Web.config配置文件中添加Log4Net的配置项(因为我的项目是基于Web的,所以我只研究了下Web下的log,其他的应该类似可以参考官网的说明) - <configuration>
- <configSections>
- <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
- </configSections>
- <log4net>
- <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
- <file value="D:/myp2c_node-log.txt" />
- <appendToFile value="true" />
- <rollingStyle value="Composite" />
- <datePattern value="yyyyMMdd" />
- <maxSizeRollBackups value="10" />
- <maximumFileSize value="1MB" />
- <layout type="log4net.Layout.PatternLayout">
- <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
- </layout>
- </appender>
- <root>
- <level value="ALL" />
- <appender-ref ref="RollingLogFileAppender" />
- </root>
- </log4net>
- </configuration>
复制代码
我们详细介绍一下这个配置项的内容 - <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
复制代码
定义的日志是记录到文件的,log4net提供了很多日志记录方式:发邮件、写入数据库等 - <file value="D:/myp2c_node-log.txt" />
复制代码
定义日志文件存储的具体位置 - <appendToFile value="true" />
- <rollingStyle value="Composite" />
- <datePattern value="yyyyMMdd" />
- <maxSizeRollBackups value="10" />
- <maximumFileSize value="1MB" />
复制代码
定义日志内容写入文件,循环写入文件使用的是融合模式(时期+文件数)如:myp2c_node-log.txt20171130、myp2c_node-log.txt120171130,每个日志文件最大存储容量为1MB,超过1MB将自动拆分 - <root>
- <level value="ALL" />
- <appender-ref ref="RollingLogFileAppender" />
- </root>
复制代码
定义日志内容的级别,可以选择ALL、DEBUG、INFO、ERROR等多种日志记录级别。 在使用时需要做一些配置 首先在namspace前面添加
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
这样才能识别web.config中配置的log4net,然后在类中应该这样使用,其中ClassName指的是具体的类名
private static readonly ILog log = LogManager.GetLogger(typeof(ClassName));
然后在类中就能通过log进行使用
log.Error(e.Message); 来源:https://blog.csdn.net/tyyytcj/article/details/78682966 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |