`
liuguofeng
  • 浏览: 453370 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Log4j日志管理

    博客分类:
  • Java
阅读更多

<?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="jop"/>
  <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>

分享到:
评论

相关推荐

    log4j日志管理

    ### Log4j日志管理详解 #### 一、Log4j概述 Log4j是一款流行的开源日志框架,由Apache软件基金会提供。它允许开发者在应用程序中加入日志功能,以便于跟踪程序运行过程中的各种状态信息。Log4j的核心设计理念在于...

    Log4j日志管理系统简单使用说明

    ### Log4j日志管理系统简单使用说明 #### 一、Log4j简介 Log4j是一款流行的开源日志框架,由Apache软件基金会提供。它能够帮助开发者以灵活且高效的方式记录应用程序的日志信息。Log4j的核心组成部分包括:Loggers...

    tomcat下的log4j日志配置

    ### Tomcat 下的 Log4j 日志配置详解 在日常的 Web 开发中,日志记录对于调试问题、监控系统状态以及后期维护来说至关重要。在使用 Apache Tomcat 作为服务器时,合理配置日志框架(如 Log4j)能够极大地提高开发...

    Log4j日志管理系统简单使用说明1

    这篇日志管理系统简单使用说明将介绍Log4j的三个核心组件:Loggers、Appenders和Layouts,帮助你理解如何在Java应用程序中有效地使用Log4j进行日志管理。 1. **Loggers** - Loggers是日志记录的核心,它们定义了...

    Log4J日志管理类使用详解

    **Log4J日志管理类使用详解** 在Java开发中,日志记录是不可或缺的一部分,它可以帮助开发者追踪程序运行过程中的错误、调试信息以及性能监控等。Log4J是Apache组织提供的一款开源的日志框架,它以其强大的功能、...

    Apache的Log4J日志管理类库jar包

    7. **Hierarchy**: Log4J的日志系统采用层次结构,使得不同的包或类可以拥有不同的日志配置,便于管理大型项目中的日志。 在实际使用中,Log4J可以通过XML或properties文件进行配置,例如在`log4j.xml`中,你可以...

    log4j日志管理安装使用文档

    日志管理系统对于任何软件应用程序而言都是至关重要的,因为它提供了对系统运行情况的跟踪和分析,帮助开发者诊断错误、调试程序以及优化性能。Apache Log4j 是一个广泛使用的开源日志框架,它为Java应用程序提供了...

    log4j日志配置以及配置文件详解

    正确理解和使用`log4j.properties`文件,将使日志管理变得更加高效和便捷。同时,不断学习和探索log4j的高级特性,如异步日志、MDC(Mapped Diagnostic Context)等,可以进一步提升日志系统的实用性和可维护性。

    log4j按功能保存日志

    总结,Log4j提供了一种灵活的方式来管理和组织日志,使其能够按功能模块保存,这对于大型项目来说尤其重要。通过正确配置,不仅可以方便地追踪和分析问题,还能优化系统性能,确保日志系统在不影响业务运行的前提下...

    log4j自定义日志文件名及日志输出格式

    这样做可以使日志管理更加有序,便于后期检索和分析。 接下来,我们谈谈如何自定义日志输出格式。Log4j的输出格式主要通过`Layout`组件来控制,最常见的`PatternLayout`允许我们使用占位符来指定输出格式。例如,`%...

    log4j日志包日志包

    `log4j`作为Java日志框架的代表,以其强大的配置能力和易用性,为开发者提供了强大的日志管理工具。通过`log4j.properties`或`log4j.xml`配置文件,可以定制日志输出的级别、目的地和格式,从而满足不同项目的需求。...

    log4j 日志打印

    《深入理解Log4j日志打印》 在Java开发领域,日志打印是不可或缺的一环,它对于系统调试、性能监控、故障排查等都起着至关重要的作用。Log4j作为Java中最常用的日志框架之一,深受广大开发者喜爱。本文将深入探讨...

    log4j使用与java中log4j记录日志如何写入数据库

    在Java开发中,日志记录是一项非常重要的任务,它能够帮助开发者追踪程序运行时的状态,定位错误和异常,便于后期的调试...总之,理解和掌握Log4j的使用,能够极大地方便开发者进行日志管理和故障排查,提升开发效率。

    log4j日志jar包

    《深入理解Log4j日志框架》 在Java开发领域,日志系统是不可或缺的工具,它用于记录程序运行过程中的各种信息,帮助开发者在问题出现时定位和解决问题。Log4j作为Apache软件基金会的一个开源项目,是Java世界中最...

    log4J日志.zip

    在“log4j日志.zip”压缩包中,包含的可能是Log4j的配置文件(如log4j.properties或log4j.xml)。这个文件定义了日志的级别、输出位置和格式。例如: ```properties # log4j.properties 示例 log4j.rootLogger=...

    使用log4j2实现日志数据脱敏

    在IT行业中,日志记录是系统监控、故障排查和审计的关键环节。然而,日志中往往包含敏感信息,如用户身份、密码、个人...在实际项目中,应结合业务需求和安全策略,灵活运用这些方法,构建高效且安全的日志管理系统。

Global site tag (gtag.js) - Google Analytics