log4j Logger 使用简介

Posted jason-dong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4j Logger 使用简介相关的知识,希望对你有一定的参考价值。

项目结构:

技术分享图片

log4j.properties 内容:

log4j.rootCategory=info,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyy MMM dd HH:mm:ss,SSS} %p [%t] %C.%M(%L) : %m%n

maven 依赖:

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

 

代码样例:

package com.jason

import org.apache.log4j.Logger

object LogTest {
  def main(args: Array[String]): Unit = {
    val LOGGER = Logger.getLogger(getClass)
    LOGGER.info("this is a info demo")
    LOGGER.warn("this is a warn demo")
    LOGGER.error("this is a error demo")
    LOGGER.debug("this is a debug demo")
  }
}

结果输出:

2018 八月 26 23:44:30,379 INFO [main] com.jason.LogTest$.main(8) : this is a info demo
2018 八月 26 23:44:30,389 WARN [main] com.jason.LogTest$.main(9) : this is a warn demo
2018 八月 26 23:44:30,389 ERROR [main] com.jason.LogTest$.main(10) : this is a error demo

为什么输出只有三个?

log中的日志级别如下

debug < info < warn < error,默认只显示大于等于所设置级别的日志,我们在log4j.properties 中所设置的级别为 info(log4j.rootCategory=info,stdout)所以debug未被打印

如何关闭日志?做如下设置即可

log4j.rootCategory=off,stdout

打印日志在程序调试中非常有用,可以很方便的打印调试语句,并通过配置文件关闭打印,不用删除或注释代码

 

以上是关于log4j Logger 使用简介的主要内容,如果未能解决你的问题,请参考以下文章

Log4j介绍及使用

Log4j使用总结

log4j框架logger的继承关系以及使用场景

log4j不会使用unicode字符记录消息

log4j的多logger记录日志的简明使用

org.apache.log4j.Logger用法