zoukankan      html  css  js  c++  java
  • log4j配置文件加载

    log4j的jar包内部包含preference默认配置,使用者可以通过log4j.xml或log4j.properties来指定自己的配置。xml比properties优先。另外注意java读取properties文件时只是通过=号来分割键值对,所以#注释不能与键值对定义放在同一行。

    指定配置文件的方式有:

      1.log4j.jar包会先使用System.getProperty("log4j.xml或configuration")看是否有jvm参数,我们可以通过java -Dlog4j.configuration=file:/full_path/log4j.properties 来指定(file:前缀不能省)。

      2.代码中使用PropertyConfigurator.configure(param);来指定。比较令人困惑的可能是相对路径的问题了,在IDE或jar包中可以通过getClassLoader().getResource("log4j.properties");来获得存在于CLASSPATH中资源文件。

    多个jar包共用一个log4j.jar的情况下可以实现让不同jar包使用不同的输出等级,

    如将rootLogger设为info级别,而将自己的包设为debug级别:

    log4j.logger.包名=DEBUG

    也可以指定每个jar包输出到不同的文件:

    log4j.logger.包名1=DEBUG,jar1logger

    log4j.appender.jar1logger=org.apache.log4j.RollingFileAppender
    log4j.appender.jar1logger.layout=org.apache.log4j.PatternLayout
    log4j.appender.jar1logger.layout.ConversionPattern=%d [%t]<%-5p> %c -> %m%n
    log4j.appender.jar1logger.File=/var/log/mylog/jar1.log
    log4j.appender.jar1logger.Append=true
    log4j.appender.jar1logger.MaxFileSize=1024KB
    log4j.appender.jar1logger.MaxBackupIndex=5

    下面是最简单的一份配置:

    ### set log levels ,stdout,D,E是自己起的名字###
    #设置rootLogger级别为INFO则屏蔽debug信息,级别all<debug < info < warn < error < fatal<off
    log4j.rootLogger = INFO, stdout
    
    ### 输出到控制台 ###
    log4j.appender.stdout = org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target = System.out
    log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern =  [fyk]%d{ABSOLUTE} %p [%C{1}.%M]:%L - %m%n
    
    ### 输出到日志文件 ###
    log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.D.File = logs/all.log
    log4j.appender.D.Append = true
    ## 输出DEBUG级别以上的日志
    log4j.appender.D.Threshold = DEBUG
    log4j.appender.D.layout = org.apache.log4j.PatternLayout
    log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [%t:%r][%C{1}.%M] - [%p]  %m%n
    ##ERROR
    log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.E.File =logs/error.log
    log4j.appender.E.Append = true
    log4j.appender.E.Threshold = ERROR
    log4j.appender.E.layout = org.apache.log4j.PatternLayout
    log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [%t:%r][%C{1}.%M] - [%p]  %m%n
  • 相关阅读:
    WAP协议研究笔记—彩信的传输
    应用程序重起自身等几则技巧
    谁妨碍了我们快乐
    国庆长假总结
    关于输入法的两个问题
    反刍
    为什么,一个思维方式的问题,一个习惯的问题,已经意识到了这一点,
    电影池子,
    幻想下,
    意识流,
  • 原文地址:https://www.cnblogs.com/makefile/p/5348539.html
Copyright © 2011-2022 走看看