代码改变世界

Log4net同时按照日期和大小生成RollingFile和访问Sybase数据库配置(原创)

2006-06-09 17:29 BAsil 阅读(...) 评论(...) 编辑 收藏

今天想用Log4net的时候,发现连最基本的配置都给忘了,在硬盘里翻了一个小时,好容易找到了。看来以后还是要写日志阿,不是有句话叫"好记性不如烂笔头"嘛。

记录一下log4net的几个配置,这个帮助里没有例子,而且也没有详细的说明。

1. Log4net同时按照日期和大小生成RollingFile


<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="test.log" />
<appendToFile value="true" />

<rollingStyle value="Composite" />
<datePattern value=".yyyy_MM_dd" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10000" />
<staticLogFileName value="false" />

<layout type="log4net.Layout.PatternLayout">
<header value="[Header] " />
<footer value="[Footer] " />
<conversionPattern value="%date %type %file %line %method %location %class %C %F %L %l %M" />
</layout>
</appender>

这样生成的日志类似test.log.2006_06_09,test.log.2006_06_08,如果哪一天的日志超过10000,那么日志名为test.log.2006_06_10.1、test.log.2006_06_10.2 .......

2.访问Sybase数据库配置

<appender name="ADONetAppender_Sybase1" type="log4net.Appender.AdoNetAppender">
<bufferSize value="1" />
<connectionType value="System.Data.Odbc.OdbcConnection, System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="Driver={SYBASE SYSTEM 11};Srvr=basil;Uid=sa;Pwd=;DB=AddressBook" />
<commandText value="Log_add ? ,? , ?, ?, ?" />

<commandType value="StoredProcedure" />

<parameter>
<parameterName value="@log_date" />
<dbType value="DateTime" />

<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy-MM-dd hh:mm:ss}" />
</layout>

</parameter>

<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread -just for test" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_level" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level" />
</layout>
</parameter>
<parameter>
<parameterName value="@logger" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger" />
</layout>
</parameter>
<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message" />
</layout>
</parameter>
</appender>

暂时想了两条,最近作项目打算用log4net,我会把碰到的问题和解决方案写上来。

p.s. 今天晚上世界杯就开始了,真是爽歪了。只是项目压力比较大,不知道能看多少场。期待ing

最近狂练颠球然后饶球一周的动作,无奈基本功太差,慢慢来吧。都是世界杯惹的祸,把我的球瘾都勾起来了。