找回密码
 会员注册
查看: 103|回复: 0

ASP.NET 添加日志记录功能

[复制链接]

1389

主题

5

回帖

496万

积分

管理员

积分
4962990
发表于 2024-2-29 08:24:03 | 显示全部楼层 |阅读模式

ASP.NET 添加日志记录功能

最近接手了一个.net项目的维护,维护过程中发现项目没有引入日志记录功能,这对代码的调试和问题追踪无疑造成了极大的不方便,习惯了java的各种日志记录再换过来及其难受,遂决定给该项目添加日志记录功能。
百度一番发现Log4j也有.net版本Log4Net,嘿嘿,官网看了看不是很复杂使用起来也很方便。
官网链接目前最新版本是2.0.8,首先下载下来在工程中引入dll文件,具体怎么引入不需要我介绍了吧。
要使用Log4Net首先需要在Web.config配置文件中添加Log4Net的配置项(因为我的项目是基于Web的,所以我只研究了下Web下的log,其他的应该类似可以参考官网的说明)

  1. <configuration>
  2. <configSections>
  3. <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
  4. </configSections>
  5. <log4net>
  6. <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
  7. <file value="D:/myp2c_node-log.txt" />
  8. <appendToFile value="true" />
  9. <rollingStyle value="Composite" />
  10. <datePattern value="yyyyMMdd" />
  11. <maxSizeRollBackups value="10" />
  12. <maximumFileSize value="1MB" />
  13. <layout type="log4net.Layout.PatternLayout">
  14. <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
  15. </layout>
  16. </appender>
  17. <root>
  18. <level value="ALL" />
  19. <appender-ref ref="RollingLogFileAppender" />
  20. </root>
  21. </log4net>
  22. </configuration>
复制代码

我们详细介绍一下这个配置项的内容

  1. <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
复制代码

定义的日志是记录到文件的,log4net提供了很多日志记录方式:发邮件、写入数据库等

  1. <file value="D:/myp2c_node-log.txt" />
复制代码

定义日志文件存储的具体位置

  1. <appendToFile value="true" />
  2. <rollingStyle value="Composite" />
  3. <datePattern value="yyyyMMdd" />
  4. <maxSizeRollBackups value="10" />
  5. <maximumFileSize value="1MB" />
复制代码

定义日志内容写入文件,循环写入文件使用的是融合模式(时期+文件数)如:myp2c_node-log.txt20171130、myp2c_node-log.txt120171130,每个日志文件最大存储容量为1MB,超过1MB将自动拆分

  1. <root>
  2. <level value="ALL" />
  3. <appender-ref ref="RollingLogFileAppender" />
  4. </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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-26 12:16 , Processed in 1.416870 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表