美文网首页
log4j的使用

log4j的使用

作者: cccccttttyyy | 来源:发表于2018-08-28 16:23 被阅读0次

1. 导入包

spring boot中默认日志工具logback使用log4j需要在pom中做如下修改。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <exclusions>
        <exclusion> 
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j</artifactId>
</dependency>

在src/main/resources目录下加入log4j.properties配置文件

其他java工程

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

2.小例子

一共有6个级别 TRACE DEBUG INFO WARN ERROR FATAL

获取日志对象

static Logger logger = Logger.getLogger(MyTestLog4j.class);

进行默认配置

BasicConfigurator.configure();

设置日志输出级别

logger.setLevel(Level.DEBUG);

不同级别日志输出

logger.trace("跟踪信息");
logger.debug("调试信息");
logger.info("输出信息");
Thread.sleep(1000);
logger.warn("警告信息");
logger.error("错误信息");
logger.fatal("致命信息");

demo代码

public class TestLog4j {
    static Logger logger = Logger.getLogger(TestLog4j.class);
    public static void main(String[] args) throws InterruptedException {
        BasicConfigurator.configure();
        logger.setLevel(Level.DEBUG);
        logger.trace("跟踪信息");
        logger.debug("调试信息");
        logger.info("输出信息");
        Thread.sleep(1000);
        logger.warn("警告信息");
        logger.error("错误信息");
        logger.fatal("致命信息");
 
    }
}
image.png

3. 配置解析

在src目录下添加log4j.properties文件
编写类似如下配置

#设置日志输出的等级为debug,低于debug就不会输出了
#设置日志输出到两种地方,分别叫做 stdout和 R  名称不固定 可以自定义
log4j.rootLogger=debug, stdout, R

  #分类输出com.didispace包下的日志
  #log4j.category.com.didispace=DEBUG, didifile

  #对ERROR级别输出到特定的日志文件中
  #log4j.logger.error=errorfile

#第一个地方stdout, 输出到控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.appender.layout=org.apache.log4j.TTCCLayout
#输出格式是 %5p [%t] (%F:%L) - %m%n
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
# 第二个地方R, 以滚动的方式输出到文件,文件名是example.log,文件最大100k, 最多滚动5个文件
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=5
#输出格式是 %p %t %c - %m%n
log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

  #log4j.appender.file.DatePattern='.'yyyy-MM-dd
  #log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

采用指定配置文件 配置文件名为log4j.properties log4j.xml等 不需要写这一句

PropertyConfigurator.configure("log4j.properties");

打印格式

log4j日志输出格式一览:

%c 输出日志信息所属的类的全名
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
%f 输出日志信息所属的类的类名
%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
%m 输出代码中指定的信息,如log(message)中的message
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
%r 输出自应用启动到输出该日志信息所耗费的毫秒数
%t 输出产生该日志事件的线程名

%5p [%t] (%F:%L) - %m%n 就表示
宽度是5的优先等级 线程名称 (文件名:行号) - 信息 回车换行


image.png image.png

相关文章

  • log4j配置文档

    Log4j简介 通过使用Log4j可以看到程序运行过程中更详细的信息经常在系统之使用Log4j查看日志 使用方法 ...

  • 初涉Log4j、Java异常学习

    1 Log4j 1.1 什么是Log4j? Log4j是Apache的一个开源项目,通过使用Log4j,我...

  • log4j

    .log4j介绍 1通过log4j可以看到程序运行过程中更详细的信息 (1)经常使用log4j查看日志 2使用 (...

  • Log4J

    1. Log4J概述 1.1. Log4J是什么 Log4j是Apache的一个开源项目,通过使用Log4j,我们...

  • 每天吃一点Androidの日志

    一. Log4j 官网参考资料:Log4j使用详解(整理) 1.1、前言 1.1.1、 出生:Log4j是Apac...

  • 日志工具-Log4j

    Log4j 概述 Log4j 是一个使用 Java 语言编写的,可靠、快速、灵活的日志框架(API),使用 Apa...

  • log4j使用教程

    Log4j简介 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的...

  • LOG4J基础使用

    LOG4J是什么? Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是...

  • Log4j的好处——同SystemOutPrintIn的比较

    Log4j的定义 Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控...

  • JavaWeb基础之日志相关

    Log4j 什么是Log4j?通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件可通过...

网友评论

      本文标题:log4j的使用

      本文链接:https://www.haomeiwen.com/subject/vyfqwftx.html