log4j的简易使用

  1. 测试代码
  2. import java.util.Date;
  3. import org.apache.commons.logging.Log;
  4. import org.apache.commons.logging.LogFactory;
  5. import org.apache.log4j.xml.DOMConfigurator;
  6. public class LoggerTest {
  7.     /**
  8.      * @param args
  9.      */
  10.     private static Log logger=LogFactory.getLog(LoggerTest.class);
  11.     public void log()
  12.     {
  13.         DOMConfigurator.configure("E://test//JavaBeanTest//WebContent//META-INF//config//log4j.xml");
  14.         if(logger.isInfoEnabled())
  15.         {
  16.             logger.info(new Date().toString());
  17.         }
  18.     }
  19.     public static void main(String[] args) {
  20.         // TODO Auto-generated method stub
  21.         LoggerTest loggerTest=new LoggerTest();
  22.         loggerTest.log();
  23.     }
  24. }
  1. 配置文件:
  2. <?xml version="1.0" encoding="UTF-8" ?>
  3. <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
  4. <!-- in java cmd add -Dlog4j.configuration=logging.xml -->
  5. <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  6.     <appender name="log.console" class="org.apache.log4j.ConsoleAppender">
  7.         <layout class="org.apache.log4j.PatternLayout">
  8.             <param name="ConversionPattern" value="%d %t %-5p %c{2} - %m%n"/>
  9.         </layout>
  10.     </appender>
  11.     <appender name="log.sys" class="org.apache.log4j.RollingFileAppender">
  12.         <param name="File" value="E:/logs2/MTS_AP1.0.log"/>
  13.         <param name="Append" value="true"/>
  14.         <param name="MaxBackupIndex" value="10"/>
  15.         <param name="MaxFileSize" value="80MB"/>
  16.         <layout class="org.apache.log4j.PatternLayout">
  17.             <param name="ConversionPattern" value="%d %t %-5p %c{2} - %m%n"/>
  18.         </layout>
  19.     </appender>
  20.     <appender name="log.action" class="org.apache.log4j.DailyRollingFileAppender">
  21.         <param name="File" value="E:/logs2/MTS_APP_ACTION.log"/>
  22.         <param name="DatePattern" value="'.'yyyy-MM-dd"/>
  23.         <layout class="org.apache.log4j.PatternLayout">
  24.             <param name="ConversionPattern" value="%d %t %-5p %c{2} - %m%n"/>
  25.         </layout>   
  26.     </appender>
  27.     <category name="bean" additivity="false">
  28.         <priority value="info"/>
  29.         <appender-ref ref="log.action"/>
  30.     </category>
  31.     <!-- 
  32.     <category name="org.springframework">
  33.         <priority value="error"/>
  34.     </category>
  35.     <category name="coresyst">
  36.         <priority value="debug"/>
  37.     </category>
  38.     <category name="trading">
  39.         <priority value="debug"/>
  40.     </category>
  41.      -->
  42.     <root>
  43.         <priority value="debug"/>
  44.         <appender-ref ref="log.console"/>
  45.         <appender-ref ref="log.sys"/>
  46.     </root>
  47. </log4j:configuration>
  1. Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG
    #这里定义能显示到的最低级别,若定义到INFO级别,则看不到DEBUG级别的信息了~!
    log4j.rootLogger=DEBUG

    #将DAO层log记录到DAOLog,allLog中
    log4j.logger.DAO=DEBUG,A2,A4
    #将逻辑层log记录到BusinessLog,allLog中
    log4j.logger.Businesslog=DEBUG,A3,A4

    #A1--打印到屏幕上
    log4j.appender.A1=org.apache.log4j.ConsoleAppender
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout
    log4j.appender.A1.layout.ConversionPattern=%-5p [%t] %37c %3x - %m%n

    #A2--打印到文件DAOLog中--专门为DAO层服务
    log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.A2.file=DAOLog
    log4j.appender.A2.DatePattern='.'yyyy-MM-dd
    log4j.appender.A2.layout=org.apache.log4j.PatternLayout
    log4j.appender.A2.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

    #A3--打印到文件BusinessLog中--专门记录逻辑处理层服务log信息
    log4j.appender.A3=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.A3.file=BusinessLog
    log4j.appender.A3.DatePattern='.'yyyy-MM-dd
    log4j.appender.A3.layout=org.apache.log4j.PatternLayout
    log4j.appender.A3.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

    #A4--打印到文件alllog中--记录所有log信息
    log4j.appender.A4=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.A4.file=alllog
    log4j.appender.A4.DatePattern='.'yyyy-MM-dd
    log4j.appender.A4.layout=org.apache.log4j.PatternLayout
    log4j.appender.A4.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

    #Appender的使用
    log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.A2.file=demo
    log4j.appender.A2.DatePattern='.'yyyy-MM-dd
    log4j.appender.A2.layout=org.apache.log4j.PatternLayout
    log4j.appender.A2.layout.ConversionPattern=%m%n

    #Layout的配置
    log4j.appender.A2.layout=org.apache.log4j.PatternLayout
    log4j.appender.A2.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

    ConversionPattern参数的格式含义
    格式名 含义
    %c 输出日志信息所属的类的全名
    %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
    %f 输出日志信息所属的类的类名
    %l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
    %m 输出代码中指定的信息,如log(message)中的message
    %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
    %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
    %r 输出自应用启动到输出该日志信息所耗费的毫秒数
    %t 输出产生该日志事件的线程名

    #1 定义了两个输出端
    log4j.rootLogger = INFO, A1, A2,A3

    #2 定义A1输出到控制器
    log4j.appender.A1 = org.apache.log4j.ConsoleAppender
    #3 定义A1的布局模式为PatternLayout
    log4j.appender.A1.layout = org.apache.log4j.PatternLayout
    #4 定义A1的输出格式
    log4j.appender.A1.layout.ConversionPattern = %-4r [%t] %-5p %c - %m%n

    #5 定义A2输出到文件
    log4j.appender.A2 = org.apache.log4j.RollingFileAppender
    #6 定义A2要输出到哪一个文件
    log4j.appender.A2.File = F:nepalonclassesexample3.log
    #7 定义A2的输出文件的最大长度
    log4j.appender.A2.MaxFileSize = 1KB
    #8 定义A2的备份文件数
    log4j.appender.A2.MaxBackupIndex = 3
    #9 定义A2的布局模式为PatternLayout
    log4j.appender.A2.layout = org.apache.log4j.PatternLayout
    #10 定义A2的输出格式
    log4j.appender.A2.layout.ConversionPattern = %d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值