zoukankan      html  css  js  c++  java
  • log4j配置说明

    1.基础配置 
    ##Log4J的配置之简单使它遍及于越来越多的应用中了    
    ##Log4J配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。
    ##一般来说常用的还是输出到日志文件或者数据库,本例中使用输出到文件的方式
    ##Log4j建议只使用四个级别,优先级从低到高分别是DEBUG,INFO,WARN,ERROR 
    #通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关 
    #比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来
    log4j.rootLogger = INFO,CONSOLE,LogFile,ErrorFile
    log4j.addivity.org.apache = true
    # 应用于控制台
    log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender     
    log4j.appender.CONSOLE.Threshold =INFO 
    log4j.appender.CONSOLE.Target = System.out 
    log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
    log4j.appender.CONSOLE.layout.ConversionPattern ==standard %d{yyyy-MM-dd HH:mm:ss,SSS} %p %l -%m%n
    #文件输出路径可以使用${standard.root}代替 .../tomcat/webapps/standart目录
    # Save the log info to the log file #
    log4j.appender.LogFile = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.LogFile.File = ../logs/standard_log4j_log.log
    log4j.appender.LogFile.Append = true
    log4j.appender.LogFile.ImmediateFlush = true
    log4j.appender.LogFile.DatePattern='.'yyyy-MM-dd
    log4j.appender.LogFile.Threshold = INFO
    log4j.appender.LogFile.layout = org.apache.log4j.PatternLayout
    log4j.appender.LogFile.layout.ConversionPattern ==standard %d{yyyy-MM-dd HH:mm:ss,SSS} %p %l -%m%n
    #应用于文件
    # Save the error info to the error file. A file one day. #
    log4j.appender.ErrorFile  = org.apache.log4j.DailyRollingFileAppender     
    log4j.appender.ErrorFile.File = ../logs/standard_log4j_error.log
    log4j.appender.ErrorFile.Append = true
    log4j.appender.ErrorFile.ImmediateFlush=true
    log4j.appender.ErrorFile.DatePattern='.'yyyy-MM-dd
    log4j.appender.ErrorFile.Threshold=ERROR
    log4j.appender.ErrorFile.layout = org.apache.log4j.PatternLayout     
    log4j.appender.ErrorFile.layout.ConversionPattern ==standard %d{yyyy-MM-dd HH:mm:ss,SSS} %p %l -%m%n
    # 结束

    注意事项:

    1.关于文件输出路径: ../logs/standard_log4j_error.log,生产环境下会将日志输出到tomcat的logs文件夹下,但是如果在Eclipse中使用tomcat布署应用时,日志会跑到eclipse的安装目录中。

    2.关于文件输出路径,不建议使用绝对路径,会造成在不同的操作系统下日志的输出错误。

    3.上述配置中的standard是项目名称,不同的项目中需要做不同的修改。

    4.上述配置可以实现实现每个项目的日志输出前缀不一样,每个应用的日志文件文件名前缀不一致

    2.优化配置

    log4j配置中的项目名称“standard”关键字的问题,如果不想每个应用都改一次,可以做如下修改:

    在初始化Listener中,添加代码

    String project_name=servletContext.getInitParameter(“project_name”);
    System.setProperty("log4jPrefix",project_name);

    在web.xml中可以配置

    <context-param>
            <param-name>project_name_var</param-name>
            <param-value>standard</param-value>
        </context-param>

    log4j.propertites中可以配置:

    log4j.appender.LogFile.File = logs/${log4jPrefix}_log4j_log.log
    log4j.appender.LogFile.Append = true
    log4j.appender.LogFile.ImmediateFlush = true
    log4j.appender.LogFile.DatePattern='.'yyyy-MM-dd
    log4j.appender.LogFile.Threshold = INFO
    log4j.appender.LogFile.layout = org.apache.log4j.PatternLayout
    log4j.appender.LogFile.layout.ConversionPattern ==${log4jPrefix} %d{yyyy-MM-dd HH:mm:ss,SSS} %p %l -%m%n

    这样做的优点:

       1.不同应用之间,只需要修改web.xml中的配置,即可以实现每个项目的日志输出前缀不一样,每个应用的日志文件文件名前缀不一致。

          基础配置也可以实现此效果,但是需要每次在log4j.propertites中修改多个配置,容易漏掉。

    作者:sdjnzqr
    出处:http://www.cnblogs.com/sdjnzqr/
    版权:本文版权归作者和博客园共有
    转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
  • 相关阅读:
    STS和Eclipse安装Lombok插件
    html5盒子模型
    SpringBoot整合Ribbon注入RestTemplate实例找不到原因
    Tomcat调整JVM大小,启动闪退
    quick cocos 设置屏幕大小
    quick cocos 多点触控,真机测试成功
    quick cocos 打包apk
    cocos3 多点触控 经过真机测试
    corona image sheet
    corona 杂类
  • 原文地址:https://www.cnblogs.com/sdjnzqr/p/3811972.html
Copyright © 2011-2022 走看看