zoukankan      html  css  js  c++  java
  • Spring 中配置log4j日志功能

    一,添加log4j依赖包

    可从官网上下载该依赖包log4j-x.x.xx.jar,下载后 build path,添加依赖包

    二,创建 log4j.properties 配置文件

    log4j.properties配置文件用来配置 日志的输出格式、输出的地址....

    复制代码
    ### set log levels ###
    log4j.rootLogger = INFO, D, E
    
    log4j.appender.D = org.apache.log4j.RollingFileAppender
    log4j.appender.D.File =${scheduleProject}WEB-INF/logs/schedule.log
    log4j.appender.D.Append = true
    log4j.appender.D.Threshold = DEBUG
    log4j.appender.D.MaxFileSize = 50000KB
    log4j.appender.D.layout = org.apache.log4j.PatternLayout
    log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
    
    log4j.appender.E = org.apache.log4j.RollingFileAppender
    log4j.appender.E.File = ${scheduleProject}WEB-INF/logs/schedule.log
    log4j.appender.E.Append = true
    log4j.appender.E.Threshold = ERROR
    log4j.appender.E.MaxFileSize = 50000KB
    log4j.appender.E.layout = org.apache.log4j.PatternLayout
    log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH:mm:ss}  [ %l:%c:%t:%r ] - [ %p ]  %m%n
    复制代码

    log4j.appender.D.File =${scheduleProject}WEB-INF/logs/schedule.log  设置 将日志输出到哪个目录下

    ${scheduleProject}是web.xml中定义的一个用来唯一识别同一个窗口中不同项目的标识,就相当于 项目的 身份证(比如,一个Tomcat下可能部署了多个项目)

    三,在web.xml文件中 配置 加载 log4j.properties的属性

    复制代码
    <!-- 加载log4j的配置文件log4j.properties -->
        <context-param>
            <param-name>log4jConfigLocation</param-name>
            <param-value>/WEB-INF/log4j.properties</param-value>
        </context-param>
    
        <!-- 设定刷新日志配置文件的时间间隔,这里设置为10s -->
        <context-param>
            <param-name>log4jRefreshInterval</param-name>
            <param-value>10000</param-value>
        </context-param>
    
        <!-- 加载Spring框架中的log4j监听器Log4jConfigListener -->
        <listener>
            <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
        </listener>
    
        <!-- 为避免项目间冲突,定义唯一的 webAppRootKey -->
        <context-param>
            <param-name>webAppRootKey</param-name>
            <param-value>scheduleProject</param-value>
        </context-param>
    复制代码

    ①log4jConfigLocation 指定Spring从哪个目录下加载 log4j.properties 配置文件

    ②log4jRefreshInterval 当修改了配置文件时,不需要重启就能加载变化了的log4j.properties 配置文件

    ③webAppRootKey 项目的标识,一个窗口中可能部署了多个项目,用它进行区分。当配置 日志文件的输出目录时,可能会用到它

    四,在代码中使用log4j进行日志记录

    import org.apache.log4j.Logger;
    
    class  Test{
    
    private static Logger logger = Logger.getLogger(Test.class);
    //....other code
    
    logger.info("info ");
    logger.error("error");
    logger.warn("warn");
    
    .......

    转载:http://www.cnblogs.com/hapjin/p/5520547.html

  • 相关阅读:
    满20年程序员生涯-与大家分享最近7年的快速成长经历(上海市青浦区快递行业战斗7年奋斗史)
    格局 逐阶而上
    基础才是重中之重~BouncyCastle实现的DES3加密~java通用
    jenkins~Publish Over SSH实现分布式部署
    maven~为MANIFEST.MF文件添加内容
    maven~多个plugin相同phase的执行顺序
    java~jar防止反编译
    个人博客的简单通告
    SQL Server中datetimeset转换datetime类型问题浅析
    MySQL如何计算统计redo log大小
  • 原文地址:https://www.cnblogs.com/cainiao-Shun666/p/7911064.html
Copyright © 2011-2022 走看看