log4j最佳配置备份

这篇博客详细介绍了Apache Log4j的配置,包括不同类型的appender,如BCSS_LOG、JOP_LOG、CONSOLE、ASYNC_BCSS_LOG和ASYNC_JOP_LOG等,以及针对特定模块如Hibernate的配置。此外,还涉及了监控数据的记录和异步化处理。
摘要由CSDN通过智能技术生成

Xml代码

<?xml version="1.0" encoding="UTF-8"?>  

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">  

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">       

    <!-- 业务日志,生产环境使用。hekun -->  

    <appender name="BCSS_LOG" class="org.apache.log4j.DailyRollingFileAppender">  

        <param name="File" value="log/bcss.log" />  

        <param name="Append" value="true" />  

        <param name="DatePattern" value="'.'yyyy-MM-dd-HH" />  

        <layout class="org.apache.log4j.PatternLayout">  

            <param name="ConversionPattern" value="%d %t [%-5p] (%F,%L) - %m%n" />  

        </layout>  

    </appender>  

       

    <!-- JOP框架底层日志,分析框架问题时使用。hekun -->  

    <appender name="JOP_LOG" class="org.apache.log4j.DailyRollingFileAppender">  

        <param name="File" value="log/jop.log" />  

        <param name="Append" value="true" />  

        <param name="DatePattern" value="'.'yyyy-MM-dd-HH" />  

        <layout class="org.apache.log4j.PatternLayout">  

            <param name="ConversionPattern" value="%d %t (%F,%L) - %m%n" />  

        </layout>  

    </appender>  

  

    <!-- 控制台日志,开发阶段使用-->  

    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">  

        <param name="Target" value="System.out" />  

        <param name="Threshold" value="DEBUG"/>          

        <layout class="org.apache.log4j.PatternLayout">  

            <param name="ConversionPattern" value="%d %t [%-5p](%F,%L) - %m%n" />  

        </layout>  

    </appender>  

  

    <!-- 默认的异步文件日志输出,生产环境都采用此appender -->  

    <appender name="ASYNC_BCSS_LOG" class="org.apache.log4j.AsyncAppender">          

     <param name="BufferSize" value="256"/>       

     <param name="LocationInfo" value="true"/>     

     <appender-ref ref="BCSS_LOG"/>    

   </appender>  

      

    <!-- 默认的异步文件日志输出,生产环境都采用此appender -->  

    <appender name="ASYNC_JOP_LOG" class="org.apache.log4j.AsyncAppender">          

     <param name="BufferSize" value="512"/>       

     <param name="LocationInfo" value="true"/>     

     <appender-ref ref="JOP_LOG"/>    

   </appender>  

  

    <!-- console 异步日志,开发环境都使用此appender,方便调试 -->  

   <appender name="ASYNC_CONSOLE" class="org.apache.log4j.AsyncAppender">          

     <param name="BufferSize" value="64"/>       

     <param name="LocationInfo" value="true"/>  

     <appender-ref ref="CONSOLE"/>    

   </appender>  

       

           

    <!-- 监控数据,启用监控功能时使用 -->  

    <appender name="MONITOR_SQLLOG" class="com.xxx.xxxx.infrastructure.log4j.JDBCExtAppender">  

        <param name="driver" value="oracle.jdbc.driver.OracleDriver"/>          <param name="URL" value="jdbc:oracle:thin:@10.200.5.200:1521:BOSS15TEST"/>  

     <param name="User" value="jop"/> 

        <param name="Password" value="jp"/>  

        <param name="sql" value="insert into SYS_ACCTMONITOR(ID,STARTTIME, USETIME,PARENTFLOWNO,IP,CLIENT,OPERATOR,TARGETSYSTEM,TARGETMODULE,TARGETFUNCTION,TARGETOPERATION,PARAMLIST,RESULTSTATUS,RESULTCODE) values (SYS_ACCTMONITOR_SEQ.nextval,to_timestamp('@starttime@','yyyy-MM-dd hh24:mi:ss.ff'), @usetime@, '@parentflowno@','@ip@','@client@','@operator@','@targetsystem@','@targetmodule@','@targetfunction@','@targetoperation@','@paramlist@','@resultstatus@','@resultcode@')"/>  

    </appender>  

       

       

    <!-- 监控数据记录异步化,只能给监控 com.xxx.xxxx.monitor 使用,其他logger不得使此 appender -->  

    <appender name="ASYNC_MONITOR_SQLLOG" class="org.apache.log4j.AsyncAppender">          

     <param name="BufferSize" value="1024"/>       

     <param name="LocationInfo" value="true"/>  

     <appender-ref ref="MONITOR_SQLLOG"/>    

   </appender>  

      

    

    <category name="com.xxx.xxxx.monitor"> <!-- 监控需要特殊控制,输出到自己的appender -->  

        <param name="additivity" value="false"/>    

        <priority value="DEBUG" />  

        <appender-ref ref="ASYNC_MONITOR_SQLLOG" />  

    </category>  

       

    <!-- Hibernate log,需要特殊控制,使用 TRACE级别 -->  

    <category name="org.hibernate.SQL">  

        <param name="additivity" value="false"/>    

        <priority value="TRACE" />           

        <appender-ref ref="ASYNC_BCSS_LOG" /> <!-- ASYNC_Hibernate_SQL -->  

    </category>  

           

    <category name="org.hibernate.type">  

        <param name="additivity" value="false"/>    

        <priority value="WARN" />        

        <appender-ref ref="ASYNC_BCSS_LOG" />  <!-- ASYNC_Hibernate_SQL -->  

    </category>  

       

    <category name="org.hibernate.cache">  

        <param name="additivity" value="false"/>    

        <priority value="WARN" />    

        <appender-ref ref="ASYNC_JOP_LOG" />         

    </category>  

           

    <category name="com.googlecode.hibernate.memcached"> <!-- L2,query cache 分布式缓存, -->  

        <param name="additivity" value="false"/>      

        <priority value="WARN" />    

        <appender-ref ref="ASYNC_JOP_LOG" />         

    </category>  

  

   <!-- 默认所有业务日志输出到文件 bcss.log, 异步输出; 其他特殊控制,如:缓存日志输出到jop.log -->  

    <root>  

        <priority value="INFO" />        

        <appender-ref ref="ASYNC_BCSS_LOG" />    <!-- 生产环境 ASYNC_BCSS_LOG -->             

    </root>  

</log4j:configuration>  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值