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

  • 相关阅读:
    SpringMVC中静态获取request对象 Spring中获取 HttpServletRequest对象【转载】
    springcloud 的loadbalancer 轮询算法切换方法 2021.4.3
    springboot项目启动增加图标
    rabbitmq 端口作用以及修改方法
    centos8 安装rabbitmq
    springcloud config client Value获取不到信息的问题的处理方法
    springcloud config配置git作为数据源然后启动报错 If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
    Sublime Text的列模式如何操作
    centos8 安装redis
    jQuery简单的Ajax调用
  • 原文地址:https://www.cnblogs.com/smallidea/p/2573623.html
Copyright © 2011-2022 走看看