内容发布更新时间 : 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语句及参数信息,下面的
控制日志文件大小的问题
对于一个长时间使用并且有大量业务日志的系统来说,如果使用FileAppender将日志一直记录到一个文件中会引起性能低下的问题,我曾见过有个系统的日志文件达到了800多M,最后系统无法及时响应了,在这种情况下可考虑使用RollingFileAppender循环记录日志,一种是指定文件的最大长度,如果超过了就重新生成一个文件,如下面的配置:
在上面的配置中,每个日志文件最大100KB,最大日志文件个数是10生成的日志文件名会是RollingFileAppender_log.txt.1, RollingFileAppender_log.txt.2 ... RollingFileAppender_log.txt.10,如果记录的日志超过10个,会从RollingFileAppender_log.txt.1开始覆盖。
还有一种方式就是按照日期记录日志,它的配置如下:
nder\ 在上面的例子中可以看出,如果想增加日志输出目的地,增加 log4net使用示例 WinForm中的使用 首先从官方网站下载最近版本的log4net组件,在程序中我们只需要log4net.dll文件就行了,添加对log4net.dll的引用,就可以在程序中使用了。 接着我们配置相关的配置文件(WinForm对应的是*.exe.config,WebForm对应的是*.config),本实例中是控制台应用程序,配置如下(附各配置的说明):