Log4Net使用指南 下载本文

内容发布更新时间 : 2024/11/14 12:11:39星期一 下面是文章的全部内容请认真阅读。

create table log ( Datetime timestamp(3), Thread varchar2(255), Log_Level varchar2(255), Logger varchar2(255), Message varchar2(4000) );

本例使用SQLite

在本例中周公采用了将日志记录到SQLite这个单机数据库的方式,并且还将记录记录日志时的文件名和行号,创建SQLite的SQL语句如下:

CREATE TABLE Log (

LogId INTEGER PRIMARY KEY, Date DATETIME NOT NULL, Level VARCHAR(50) NOT NULL, Logger VARCHAR(255) NOT NULL, Source VARCHAR(255) NOT NULL, Message TEXT DEFAULT NULL );

增加的< appender>节点配置如下:

从上面的配置中可以看出插入数据的SQL语句及参数信息,下面的节点就是指定插入的数据,比如我们指定SQL语句中的\参数来源于log4net中的\参数,也就是这两个参数用“:”用连接起来。

控制日志文件大小的问题

对于一个长时间使用并且有大量业务日志的系统来说,如果使用FileAppender将日志一直记录到一个文件中会引起性能低下的问题,我曾见过有个系统的日志文件达到了800多M,最后系统无法及时响应了,在这种情况下可考虑使用RollingFileAppender循环记录日志,一种是指定文件的最大长度,如果超过了就重新生成一个文件,如下面的配置:

在上面的配置中,每个日志文件最大100KB,最大日志文件个数是10生成的日志文件名会是RollingFileAppender_log.txt.1, RollingFileAppender_log.txt.2 ... RollingFileAppender_log.txt.10,如果记录的日志超过10个,会从RollingFileAppender_log.txt.1开始覆盖。

还有一种方式就是按照日期记录日志,它的配置如下:

nder\

在上面的例子中可以看出,如果想增加日志输出目的地,增加节点就是了,注意后面的ref是在config中配置的appender name,如果想要取消,删除或者注释掉这行就可以了。

log4net使用示例

WinForm中的使用

首先从官方网站下载最近版本的log4net组件,在程序中我们只需要log4net.dll文件就行了,添加对log4net.dll的引用,就可以在程序中使用了。

接着我们配置相关的配置文件(WinForm对应的是*.exe.config,WebForm对应的是*.config),本实例中是控制台应用程序,配置如下(附各配置的说明):