我们在做开发的时候,需要把一些信息记录下来,方便问题排查.数据分析和统计.通常我们使用log4net作为logging的工具,但是大部分时候需要加以封装,以便更加方便的使用,并且不妨碍主业务程序的运行.下面就是一个异步logging的例子,关键在于: 简洁:不做过度封装,能满足需要的就是做好的,“done is better than perfect”: 异步:所有的信息都以异步的方式进行记录,不会对主业务逻辑造成任何的block. 首先,在一个新建的工程里引用log4net.dll,并且进行简
因公司ELK监控分析日志的需要,需要区分进程运行状态日志以及错误日志,以便能够根据日志级别(level)进行不同策略的预警,而现有的Nlog.Log4Net都没有Process这样的level,故针对这两个日志框架做了一些扩展,实现了自定义PROCESS LEVEL,因代码不多,故直接贴代码,有疑问的或好的建议可以下方评论留言交流,谢谢! NlogExtend.cs:(Nlog的扩展)文件代码内容如下: public static class NlogExtend { public static
最近项目需要用log4net来写日志,因为整个平台式在sharepoint上,我们需要记录具体是哪个子站点发生的日志,因此需要再原来的log表里面添加一个自定义信息列.由于平台的安全性要求,我们需要对连接字符串加密.连接字符串的信息是在AdoNetAppender读取的,所以我们要扩展该类.而自定义消息我们需要扩展PatternLayout类.其实有关log4net的介绍网上已经很多了,如log4net.dll使用 具体的代码如下: #region Log helper public class