轻量级日志组件

来源:互联网 发布:2016国外网络在做什么 编辑:程序博客网 时间:2024/05/19 03:42

经常,客户说报错的时候,作为开发人员,基本上不可能到第一现场观察错误提示,这也导致了异常定位非常的困难,大大增加了维护的成本。使用日志后,一旦某个页面出错,即使客户没有反馈,系统也能记录下来,为管理员修正错误以及优化系统提供足够丰富的信息。ECG同样也提供了轻量级的简单日志组件。

1、简单日志配置

配置说明如下:

配置节关键字

配置说明

_LOG_LEVEL_

日志级别配置节关键字,配置内容可为:DEBUG|INFO|WARN|ERROR|FATAL (默认DEBUG)

_LOG_FILE_

日志文件配置节关键字配置内容:日志文件路径+文件名(不含文件扩展名)(默认SimpleLogger)

_LOG_FILE_MAX_SIZE_

日志文件配置节关键字,日志文件的最大长度(单位:字节)(不得小于1024字节,即1K)(默认1M = 1*1024*1024=1048576)
当日志文件超过该大小时会自动重建。

_LOG_SPLIT_

日志文件是否按命名空间分开存储的配置节关键字: TRUE|FALSE (默认FALSE)

_LOG_ASYN_

异步写入日志标示,TRUE:新启线程采用日志队列方式异步写入,FALSE:直接写入日志文件(默认FALSE)

_LOG_ASYN_WAIT_

异步写入时,当日志队列为空的等待毫秒数(必须大于等于0,为0则没有等待时间(较耗资源);可不配置,默认100毫秒)(_LOG_ASYN_必须配置TRUE,该项才起作用)

_LOG_ASYN_THREAD_BACKGROUND_

异步写入线程是前台线程还是后台线程(对应Thread.IsBackground属性),TRUE后台线程,FALSE前台线程(默认FALSE)(_LOG_ASYN_必须配置TRUE,该项才起作用)

这里的配置节关键字是区分大小写的,要求全部大写,所有配置项都有默认值,不需要全部配置,可根据实际需要进行选择。配置项在系统首次加载时进行初始化,再次修改配置项需重启应用程序。

日志路径默认为运行程序所在运行路径,对于Web程序,若在VisualStudio下web.config中没有配置_LOG_FILE_指定到具体路径下,则会在对应的IDE目录下(以VS2005为例,在Microsoft Visual Studio8\Common7\IDE\);建议这里明确填写具体完整的绝对路径(例如:C:\Log\SimpleLogger,日志记录到C:\Log\目录下(如果目录不存在则会自动创建),日志文件名以SimpleLogger为前缀开头);日志文件的扩展名为(.log)。

 

2、简单日志的使用

using System.Logger;

SimpleLogger logger =SimpleLogger.GetInstance();

logger.Debug("环境打印出的调试日志");

logger.Info("环境打印出的信息日志");

logger.Warn("环境打印出的警告日志");

logger.Error("环境打印出的一般错误日志");

logger.Fatal("环境打印出的致命错误日志");

日志组件位于System.Database.dll中,项目引用命名空间(System.Logger)即可,日志组件提供五种级别的日志记录(DEBUG|INFO|WARN|ERROR|FATAL),最低DEBUG,最高FATAL,当配置的级别大于等于对应级别时,会自动记录日志,如:当前配置_LOG_LEVEL_值为ERROR时,DEBUG|INFO|WARN三种级别日志将直接跳过不记录,ERROR|FATAL级别的日志会记录。SimpleLogger提供了单实例接口SimpleLogger.GetInstance(),支持多线程并发操作,使用时可直接调用获取日志实例对象。同时各级别日志记录接口(Debug| Info Warn| Error| Fatal)均有不同重载方式。



.Net版本轻量级日志组件下载

Java版本简易日志组件下载