zoukankan      html  css  js  c++  java
  • Log4Net学习笔记1

    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" />

  • 相关阅读:
    【转】Loadrunder场景设计篇——添加windows Resource计数器和指标说明
    【转】基于Selenium的web自动化框架(python)
    测试用例
    向SQL Server中导入Excel的数据
    SQl server更新某阶段的匹配关系。
    Python -- print(dataframe)时,省略部分列。
    Python -- Pandas介绍及简单实用【转】
    sqlserver清除缓存,记录查询时间
    ArcMap 10.2 crashes during Loading Document launch stage
    PYTHON:HTTP头设置工具(以附件名为例)
  • 原文地址:https://www.cnblogs.com/smallidea/p/2573623.html
Copyright © 2011-2022 走看看