Log4Net主页 http://logging.apache.org/log4net/index.html
Log4Net KPI http://logging.apache.org/log4net/release/sdk/
1、 信息记录到Access中
<appender name="ADONetAppender_Access" type="log4net.Appender.ADONetAppender">
<bufferSize value="0"/>
<connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/Logs.mdb;Password=Jason" />
//Data Source在这里必须写绝对地址;Password是数据库的访问密码;user没有写,默认是admin
<commandText value="INSERT INTO [Logs]([Message]) VALUES (@message)" />
<!---信息-->
<parameter>…</parameter>
</appender>
2、 信息记录到文件
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" type="txt" value="Error/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="maxSizeRollBackups" value="10" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<param name="DatePattern" value="yyyyMMdd'.txt'" />
<param name="StaticLogFileName" value="false" />
<Encoding value="UTF-8" />
<layout type="ZHDMTSys.Log.ExpandLayout2.ReflectionLayout,ZHDMTSys.Log">
<!--<param name="Header" value="&#13;&#10;" /><param name="Footer" value="%newline" />-->
<param name="ConversionPattern"
value="记录时间:%date 操作者ID:%property{UserName} 浏览器:%property{Browser} 操作系统:%property{MachineName}%n消息描述:%property{Message}%n 异常:%exception %n ------------------------------------------------------------------------------%n" />
</layout>
</appender>
属性列表
- File : 当StaticLogFileName为false时,此处标识的是文件夹路径(相对站点根目录),为true时,这里应该写入文本文件相对站点根目录的相对路径
- AppendToFile : 是否追加到文本文件中,默认为true
- RollingStyle : 文件名动态的依据,可选值有size 容量、date 日期、once 单个文件、composite混合模式
- maxSizeRollBackups : 最大变换数量,-1为不限制。用于处理备份文件。表示备份文件的文件最大数目。如果设置为0,表示不备份日志文件,而且当日志文件容量满了之后,将会截断以前的日志信息;如果是自然数,那么当日志备份文件数目满了之后,会删除以前的日志文件备份;如果是负整数,那么将会无限制的增加日志备份文件。
- lockingModel : 文件锁类型,RollingFileAppender本身不是线程安全的,如果在程序中没有进行线程安全的限制,可以在这里进行配置,确保写入时的安全。文件锁定的模式,官方文档上他有三个可选值“FileAppender.ExclusiveLock, FileAppender.MinimalLock and FileAppender.InterProcessLock”,默认是第一个值,排他锁定,一次值能有一个进程访问文件,close后另外一个进程才可以访问;第二个是最小锁定模式,允许多个进程可以同时写入一个文件;第三个目前还不知道有什么作用
- DatePattern : 当rollingStyle为date时,此处可为文件名的生成提供依据
- StaticLogFileName :是否为固定的文件名,理论上讲不会动态改变
- Encoding :编码格式
- SecurityContext : 比较少应用,对日志进行加密只类的,使用SecurityContextProvider转换。(对日志的保密要求比较高的时候应该可以应用上吧,Log4考虑的还挺周全)
备注:Log4net的配置信息中,属性可以有两种写法,比如<param name="AppendToFile" value="true" />
相当于<AppendToFile value="true" />