• 如何在Maven构建的Java项目中使用log4j


    参考:

    https://www.jianshu.com/p/ccafda45bcea

    说明:

    本文仅仅作为项目开发过程中的记录,不提供详细的说明。按照步骤直接复制粘贴即可成功使用。

    第一步:添加依赖

          <!-- https://mvnrepository.com/artifact/log4j/log4j -->
          <dependency>
              <groupId>log4j</groupId>
              <artifactId>log4j</artifactId>
              <version>1.2.17</version>
          </dependency>

    第二步:添加配置文件

    文件位置说明:直接放在resources目录下。

    #### set log levels ###
    log4j.rootLogger = info, stdout , D
    #
    ####  output to the console ###
    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 = %d{HH:mm:ss}-[%p] [%c] - %m%n
    #
    #### Output to the log file ###
    log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.D.File = ${springmvc.root}/WEB-INF/logs/debug.log
    log4j.appender.D.Append = true
    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}-[%p] [%l] - %m%n
    #
    #### Output to the log file ###
    log4j.appender.I = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.I.File = ${springmvc.root}/WEB-INF/logs/info.log
    log4j.appender.I.Append = true
    log4j.appender.I.Threshold = INFO
    log4j.appender.I.layout = org.apache.log4j.PatternLayout
    log4j.appender.I.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}-[%p] [%l] - %m%n
    #
    #### Save exception information to separate file ###
    log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.E.File = ${springmvc.root}/WEB-INF/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}-[%p] [%l] - %m%n

    参数简单说明:

    log4j.rootLogger = info, stdout , D

    1、第一个参数是日志记录的最低级别,可以是info,debug,warn,error。后面的参数是appender的名字,表示采用下面的哪一个配置,将日志输出到相应的位置。

    2、例如D表示,采用 log4j.appender.D的配置信息,按照他的要求,将日志输出到指定位置,D是appender的名字,是可以自己取的。

    3、具体参数的含义可以看上面的参考链接,那位兄弟列举的比较全面。

    4、${springmvc.root}需要特殊说明一下,该参数在web.xml下配置了一下:

      <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>springmvc.root</param-value>
      </context-param>

    其中springmvc.root是可以随意取名的,${springmvc.root}表示项目的根路径(webapp)。

    5、日志输出格式做了简单的配置,尽量保证控制台输出比较简单,向文件输出的时候详细一点,方便排查问题。

    第三步:在项目中使用

    可以看下下面的代码,其他用法可以根据具体的需求去学习:

    public class ArchiveTest extends BaseTest{
    
        private static Logger logger = Logger.getLogger(ArchiveTest.class);
    @Autowired SecLevelService secLevelService;
    //保管期限 @Test public void getStoPeriod(){ List<StoPeriodDao> periodList = stoPeriodService.getPeriodList(); System.out.println(periodList); } @Test public void getSecLevelList(){ List<SecLevelDao> secLevelDaoList = secLevelService.getSecLevelList(); logger.info(secLevelDaoList); }
  • 相关阅读:
    IoC 中 car 对象的配置如下,现在要添加 user 对象,并且将 car 注入到 user 中,正确的配置是?
    说说 IoC 中的继承和 Java 继承的区别
    bean 的 scope 有几种类型?请详细列举。
    简单谈谈 IoC 容器的原理
    谈谈你对 Spring IoC 和 DI 的理解,它们有什么区别?
    day13-14 内置函数
    day12 生成器(重要)
    day11 闭包和迭代器
    day10 函数进阶
    day09 函数
  • 原文地址:https://www.cnblogs.com/phdeblog/p/13325090.html
Copyright © 2020-2023  润新知