`
plkong
  • 浏览: 177443 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

log4j 最佳配置优化

阅读更多
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">       
    <!-- 业务日志,生产环境使用。 -->  
    <appender name="APPMGR_LOG" class="org.apache.log4j.DailyRollingFileAppender">  
        <param name="File" value="log/appmgr.log" />  
        <param name="Append" value="true" />  
        <param name="DatePattern" value="'_'yyyy-MM-dd-HH'.log'" />  
        <layout class="org.apache.log4j.PatternLayout">  
            <param name="ConversionPattern" value="[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%t][%c]%m%n" />  
        </layout>  
    </appender>  

    <!-- JOP框架底层日志,分析框架问题时使用。 -->  
	<!--
    <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="[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%t][%c]%m%n" />  
        </layout>  
    </appender>  

    <!-- 默认的异步文件日志输出,生产环境都采用此appender -->  
    <appender name="ASYNC_APPMGR_LOG" class="org.apache.log4j.AsyncAppender">          
     <param name="BufferSize" value="256"/>       
     <param name="LocationInfo" value="true"/>     
     <appender-ref ref="APPMGR_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>  

   <!-- 监控需要特殊控制,输出到自己的appender -->  
   <!--
    <category name="com.xxx.xxxx.monitor"> 
        <param name="additivity" value="false"/>    
        <priority value="DEBUG" />  
        <appender-ref ref="ASYNC_MONITOR_SQLLOG" />  
    </category>  
	-->

    <category name="org.hibernate.type">  
        <param name="additivity" value="false"/>    
        <priority value="WARN" />        
        <appender-ref ref="ASYNC_APPMGR_LOG" />  <!-- ASYNC_Hibernate_SQL -->  
    </category>


   <!-- 默认所有业务日志输出到文件 appmgr.log, 异步输出; 其他特殊控制,如:缓存日志输出到jop.log -->  
    <root>
        <priority value="INFO" />
        <appender-ref ref="ASYNC_APPMGR_LOG" />    <!-- 生产环境 ASYNC_APPMGR_LOG -->
    </root>  
</log4j:configuration>

   参考:http://skysoul1985.iteye.com/blog/1405570

tomcat优化:

http://blog.csdn.net/lifetragedy/article/details/7708724

分享到:
评论

相关推荐

    log4j详细配置说明

    ### Log4j 详细配置说明 #### 一、Log4j 简介与特性 在当前强调可重用组件的软件开发环境中,Apache 的 Log4j 为开发者提供了强大的日志管理工具。Log4j 不仅开源免费,还具备高度的灵活性与可配置性,支持多种...

    c3p0&log4j配置文件及说明

    通过合理的配置c3p0和log4j,开发者可以优化数据库访问性能,同时方便地追踪和分析应用运行时的错误与调试信息,这对于开发、测试和生产环境都是非常重要的。在实际项目中,应根据应用的规模、并发量以及性能需求,...

    配置Log4j的详细最好的日志工具

    ### 配置Log4j的详细指南:最佳的日志管理工具 #### 一、引言 在软件开发过程中,良好的日志记录对于调试、维护和性能优化等方面具有至关重要的作用。Log4j作为Apache下的一个开源项目,因其高度灵活性、易配置性...

    log4j的jar包和配置文件

    Log4j的配置通常通过一个名为`log4j.properties`或`log4j.xml`的文件完成。以下是一个简单的`log4j.properties`配置示例: ```properties # 设置root logger级别为INFO,并将输出到console log4j.rootLogger=INFO, ...

    log4j-2.17.1的jar包,导入即可使用

    4. **配置文件**:Log4j 的行为可以通过配置文件(通常是`log4j2.xml`或`log4j2.json`)进行定制。配置文件可以定义日志级别(如TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF),日志输出目的地(控制台、文件、...

    Log4j配置资料大全

    Log4j配置资料大全中可能涵盖这些内容的详细教程、实例代码、最佳实践等,帮助开发者更好地理解和使用Log4j,提高日志管理的效率和质量。通过深入学习和实践,你可以掌握如何根据项目需求定制Log4j配置,实现高效、...

    log4j-1.2.16下载

    四、Log4j-1.2.16的优化与维护 1. **日志级别管理**:在生产环境中,通常会将日志级别设置为WARN或ERROR,以减少不必要的日志输出,提高性能。 2. **日志分割**:为了便于管理和分析,可以配置Log4j按日期分割日志...

    WebSphere V5 配置log4j

    在IT行业中,日志记录是系统管理和调试的重要环节。WebSphere V5作为一款成熟的IBM应用服务器,集成并支持多种日志框架,其中就包括广泛...在实际操作中,根据具体需求调整log4j的配置,可以达到最佳的日志记录效果。

    tomcat8更换log4j记录日志

    在IT行业中,日志管理是系统运维和故障排查的关键环节,尤其对于服务器应用程序如Tomcat而言,正确配置日志记录...记得根据实际需求调整`log4j.properties`配置,以及正确部署相关库文件,以实现最佳的日志记录效果。

    log4j-2.7api+core包

    2. **Log4j Core**:`log4j-core-2.7.jar`是Log4j的主要实现部分,负责实际的日志记录工作,包括日志的输出格式、目的地(如控制台、文件、数据库等)、性能优化等功能。它实现了API接口,提供了具体的日志处理逻辑...

    log4j依赖jar包

    为了保证最佳性能和安全性,开发者应时刻关注Log4j的更新,及时升级到最新稳定版本,避免已知的漏洞和缺陷。此外,合理地配置日志级别和输出策略,既能帮助调试问题,又不会对系统性能造成过大的负担。 总之,Log4j...

    The Complete Log4j Manual

    通常,一本完整的手册会包括以下几个部分:介绍Log4j的基础知识、详细说明如何配置和使用Log4j、示例和最佳实践、高级配置技巧、性能优化建议、以及Log4j的二次开发等方面内容。读者可以根据个人需要,找到对应章节...

    日志实战样例配置:log4j-demo.zip

    通过这个`log4j-demo`,我们可以学习如何配置和使用`log4j`来实现日志记录,这对于理解和优化Java应用程序的调试过程至关重要。日志可以帮助我们理解程序的运行状态,定位问题,分析性能瓶颈,从而提高软件质量。在...

    log4j xmlweb最佳配置备份

    根据提供的文件信息,我们可以深入探讨Log4j框架的配置与最佳实践。Log4j是一个流行的Java日志框架,被广泛应用于各种规模的应用程序中。它提供了灵活的日志记录功能,可以方便地定制日志级别、格式及输出目标等。...

    log4j和log4j .jar包

    **Log4j简介** Log4j是Apache组织提供的一款开源日志记录框架,它为Java应用程序提供了灵活且强大的日志处理能力。Log4j的主要目标是简化...通过阅读`log4j知识.doc`文档,可以深入学习Log4j的详细用法和最佳实践。

    log4j-2.8.2

    四、log4j2.xml配置 配置文件log4j2.xml是Log4j 2的核心,它定义了日志行为,包括日志级别、Appender、Layout、Filter等配置。例如: ```xml [%t] %-5level %logger{36} - %msg%n"/&gt; ...

    Strtus2.3升级2.5(包含log4j升级log4j2)所需jar,和相关资料

    5. **配置Log4j2**:Log4j2的配置文件(通常为log4j2.xml或log4j2.json)需要重新编写,以利用新特性并满足日志需求。例如,你可以配置日志分级(DEBUG, INFO, WARN, ERROR等),并实现日志分片以方便日志管理和分析...

    spring mvc log4j

    **Spring MVC 集成 Log4j 知识点详解** Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它提供了模型-视图-控制器(MVC)架构模式来...在实际项目中,可以根据具体需求调整 Log4j 的配置,以达到最佳的日志效果。

    mybatis打印SQL的log4j

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在开发过程中,为了便于调试和优化SQL语句,我们常常...在实际开发中,应根据项目需求灵活调整Log4j的配置,以达到最佳的日志管理效果。

    log4j2必需jar包

    例如,`log4j2.xml`或`log4j2.json`文件可以放置在类路径中,Log4j2会自动加载并应用这些配置。 4. **性能优化**: 与log4j 1.x相比,Log4j2引入了异步日志记录,大大提升了性能。它利用Java的并发特性,将日志...

Global site tag (gtag.js) - Google Analytics