`

log4j : Log4J 分包记录日志

 
阅读更多
http://my.oschina.net/jeeker/blog/511007
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <!-- 输出到控制台中 --> 
    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
        <param name="Target" value="System.out"/>
        <layout class="org.apache.log4j.PatternLayout">
            <!-- The default pattern: Date Priority [Category] Message\n -->
            <param name="ConversionPattern" value="%d %-5p [%c{1}] (%t) %m%n"/>
        </layout>
    </appender>
    <!-- A time/date based rolling appender -->
    <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="/home/logs/selfcare.log"/>
        <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
        <param name="Append" value="false"/>
        <!-- Rollover at midnight each day -->
       <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />       
        <param name="Threshold" value="TRACE"/>
        <!-- 设置输出文件项目和格式 --> 
        <layout class="org.apache.log4j.PatternLayout">
            <!-- The default pattern: Date Priority [Category] Message\n -->
            <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n"/>
            <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
           <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
            -->
        </layout>
    </appender>
        
    <appender name="FILE01" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="/home/logs/adapter.log"/>      
        <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
        <param name="Append" value="false"/>
        <!-- Rollover at midnight each day -->
       <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />      
        <param name="Threshold" value="TRACE"/>
        <!-- 设置输出文件项目和格式 --> 
        <layout class="org.apache.log4j.PatternLayout">
            <!-- The default pattern: Date Priority [Category] Message\n -->
            <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n"/>
            <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
           <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
            -->
        </layout>
    </appender>
    
  
   <appender name="FILE02" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="/home/logs/user.log"/>       
        <param name="Append" value="false"/>
        <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />       
        <param name="Threshold" value="TRACE"/>
        <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n"/>
        </layout>
    </appender>
  
<!--将各个包中的类日志输出到不同的日志文件中-->
    <category name="com.adapter">
        <priority value="DEBUG"/>
       <appender-ref ref="CONSOLE" />
       <appender-ref ref="FILE01" />
    </category>
    
  
 <category name="com.user">
        <priority value="DEBUG"/>
       <appender-ref ref="CONSOLE" />
       <appender-ref ref="FILE02" />
    </category>
      
    
      
    <root>
        <priority value="DEBUG"/>
        <appender-ref ref="FILE"/>
        <appender-ref ref="CONSOLE"/>
    </root>
  
</log4j:configuration>


其中appender用于输出的日志文件,category对应项目工程的不同包路径

2.说明

自定义输出格式说明

    %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL

    %r 输出自应用启动到输出该log信息耗费的毫秒数

    %c 输出所属的类目,通常就是所在类的全名

    %t 输出产生该日志事件的线程名

    %n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”

    %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921

      %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。

Log4j提供的appender有以下几种:

               org.apache.log4j.ConsoleAppender(控制台),

               org.apache.log4j.FileAppender(文件),

               org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),

               org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),

               org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
分享到:
评论

相关推荐

    Log4j分包输出日志

    实现分包日志输出的关键在于配置文件(通常是log4j.properties或log4j.xml)。在配置文件中,我们可以定义多个Logger,并通过设置它们的name属性为类的包名来关联不同的日志输出策略。以下是一个简单的配置示例: `...

    SSM前言1

    - `log4j.rootLogger`定义日志级别,如`info`,控制不同级别的日志输出。 - `appenderName`指定日志输出的目的地,可以有多个,如`A`, `B`, `C`。 - `log4j.appender.A`定义输出类型,如控制台、文件等。 - `log...

    windows下tomcat的catalina.out按天自动分割

    ### Windows下Tomcat的日志按天自动分割方法详解 #### 一、背景介绍 在部署Java Web应用时,经常使用Apache Tomcat作为Web服务器。随着应用程序的运行,Tomcat会生成大量的日志文件,其中最重要的是`catalina.out`...

    logcat-update-ota-successful.log

    ota升级成功正确日志,差分包升级日志

    Java项目开源源码简介

    3. **日志管理**:通过引入`org.slf4j.Logger`和`LoggerFactory`,项目使用了SLF4J(Simple Logging Facade for Java)作为日志抽象层,允许灵活地选择具体的日志实现(如Logback或Log4j)。`logger.info()`方法用于...

    PDM-JAVA规则

    9. **日志记录**:使用Log4j、SLF4J等日志框架,记录应用程序的运行状态,便于排查问题。 10. **资源管理**:有效管理数据库连接、线程池等系统资源,避免资源泄漏,确保系统的稳定运行。 11. **代码审查**:通过...

    销售龙虎榜:包含后端_销售统计类小程序_

    8. **错误处理与日志系统**:为了调试和监控,后端通常会设置完善的错误处理机制,并集成日志系统如Log4j或 Winston,记录系统运行状态,便于排查问题。 9. **安全性**:考虑到数据敏感性,小程序可能实施了HTTPS...

    dubbo技术介绍

    log help clear exit Maven插件参考手册 mvn dubbo:registry mvn dubbo:create 服务化最佳实践 分包 粒度 版本 兼容性 枚举值 序列化 异常 调用 推荐用法 容量规划 基准测试工具包 性能测试报告 测试说明 测试环境 ...

    校园博客软件开发计划书w.doc

    - Log:记录日志,支持查询、修改、删除、添加。 - Discussion:管理评论,支持查询、修改、删除、添加。 - Academy:管理院系信息,允许增删改查。 - Comment:记录日志评论,提供评论管理功能。 1.4 参考资料 - ...

    网管教程 从入门到精通软件篇.txt

    Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字) A3L:Authorware 3.x库文件 A4L:Authorware 4.x库文件 A5L:Authorware 5.x库文件 A3M,A4M:Authorware Macintosh...

    补充SSHPRJ所需要的包2

    4. 可能还包括其他的依赖库,如Log4j日志框架、Commons-lang、Apache HttpClient等,这些是许多Java项目中常用的辅助库。 5. 若SSHPRJ使用了其他特定库,比如MyBatis或Quartz,那么对应的JAR文件也可能包含在内。 ...

    微信小程序源码(2048小游戏)

    6. **调试与日志**:`debug.log`可能包含了开发过程中的错误日志,用于排查问题和优化代码。在开发过程中,微信开发者工具提供了强大的调试功能,可以帮助开发者定位并修复错误。 7. **Markdown文档**:`README.md`...

    teleopenfsdfsdfsdgsd (3).zip

    9. **日志文件**:如果项目运行时产生日志,可能会有.log文件,用于调试和监控。 10. **静态资源**:如果涉及Web开发,可能会包含HTML、CSS、JavaScript文件等。 为了充分利用这些资源,开发者需要解压文件,检查...

    项目13:13项目的解决方案

    12. **日志系统**:通过Log4j、SLF4J或Java内置的日志API记录应用程序的运行日志,便于调试和监控。 13. **Spring框架**:如果项目规模较大,可能会采用Spring框架来管理依赖、实现AOP(面向切面编程)和提供数据库...

    node-syslog-client:TCP和UDP Syslog客户端RFC 3164和5424

    然后可以创建TCP或UDP客户端,以将消息记录到远程主机。 var client = syslog . createClient ( "127.0.0.1" ) ;client . log ( "example message" ) ;常数以下各节描述了此模块导出和使用的常量。syslog.Transport...

    EmployeePayRollServiceJDBC

    10. **日志记录**:通过Log4j或SLF4J进行日志输出,便于调试和问题追踪。 以上是对"EmployeePayRollServiceJDBC"项目的一个全面解读,涉及了Java编程、数据库操作、设计模式、测试等多个方面,这些内容对于理解和...

    飞鸽传书c++版代码.rar

    错误处理通常通过异常处理机制(try-catch)来实现,而日志记录则可以采用标准输出、文件输出或者第三方库如log4cpp。 总的来说,飞鸽传书C++版的源代码是一个学习和研究网络通信、文件传输、多线程以及C++编程技巧...

    logistics-service

    同时,日志管理(如Logback或Log4j)和错误追踪(如Sentry或ELK Stack)也是必不可少的工具,它们能帮助开发者定位和解决问题。 总之,"logistics-service"是一个涉及广泛技术和组件的系统,涵盖了从后端开发到系统...

    opnet核心函数

    - **Log_Handle**:表示日志句柄,用于记录和查询日志信息。 ##### 1.2.13 Procedure (过程) 过程(Procedure)类型用于定义和管理过程。 - **Procedure**:表示过程,用于组织和执行仿真的过程逻辑。 ##### ...

    Dubbo用户文档

    Telnet命令参考手册提供了多种Telnet命令,如ls、ps、cd、pwd、trace、count、invoke、status、log、help、clear、exit等,供用户在命令行环境下管理和调试Dubbo服务。 Maven插件参考手册提供了如mvndubbo:registry...

Global site tag (gtag.js) - Google Analytics