LoggerFactory使用与log4j.properties的参数介绍

LoggerFactory使用与log4j.properties的参数介绍

一、LoggerFactory使用
使用org.slf4j来控制日志的输出,常见的就是使用这段代码

private static final Logger logger = LoggerFactory.getLogger(LoggerFactoryDemo.class);

需要的依赖有

<!-- slf4j 依赖包 2021.08.19 -->
    <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.21</version>
    </dependency>

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

如果你遇到了如下的爆红

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

那么可能是slf4j-log4j12的scope为test,需要去除scope标签
二、log4j.properties参数介绍
log4j.properties需要在resources层级创建,如果放置的位置不对,可能会存在如下爆红

log4j:WARN No appenders could be found for logger (com.xxx.xxx.LoggerFactoryDemo).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

层级结构示范
在这里插入图片描述
log4j.properties文件

# all:输出所有类型的信息, A:输出方式为控制台输出
log4j.rootLogger=all, A

# 控制台打印
log4j.appender.A=org.apache.log4j.ConsoleAppender
log4j.appender.A.layout=org.apache.log4j.PatternLayout
log4j.appender.A.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n

log4j.appender.B=org.apache.log4j.FileAppender
log4j.appender.B.File=E:\\young\\log.log
log4j.appender.B.layout=org.apache.log4j.SimpleLayout

# html方式输出
log4j.appender.C=org.apache.log4j.RollingFileAppender
log4j.appender.C.File=E:\\young\\log.html
log4j.appender.C.MaxFileSize=1000KB
log4j.appender.C.MaxBackupIndex=10
log4j.appender.C.layout=org.apache.log4j.HTMLLayout
log4j.appender.C.encoding=gbk

# txt方式输出
log4j.appender.D=org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File=E:\\young\\log\\log.txt
#log4j.appender.D.File=E:\\hanweb\\log\\log.txt
log4j.appender.D.layout=org.apache.log4j.TTCCLayout

三、Demo
Code

public class LoggerFactoryDemo {
    private static final Logger logger = LoggerFactory.getLogger(LoggerFactoryDemo.class);

    public static void main(String[] args) {
        logger.info("this is info");
        logger.error("this is error");
        logger.debug("this is debug");
    }
}

ConsoleAppender

2021-08-19 11:21:56 [com.xxx.service.log.LoggerFactoryDemo]-[INFO] this is info
2021-08-19 11:21:56 [com.xxx.service.log.LoggerFactoryDemo]-[ERROR] this is error
2021-08-19 11:21:56 [com.xxx.service.log.LoggerFactoryDemo]-[DEBUG] this is debug
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Boot支持多种日志框架,其中就包括log4j。将log4j配置到Spring Boot中需要以下步骤: 1. 在pom.xml文件中添加log4j的依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j</artifactId> </dependency> ``` 2. 在src/main/resources目录下创建log4j.properties文件,然后在该文件中添加log4j的配置信息。例如: ``` # 设置日志级别为DEBUG log4j.rootLogger=DEBUG, console # 定义输出到控制台的appender log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.Target=System.out log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n ``` 3. 在Spring Boot的配置文件application.properties或application.yml中,设置logging.config属性的值为log4j.properties文件的路径。例如: application.properties ``` logging.config=classpath:log4j.properties ``` application.yml ``` logging: config: classpath:log4j.properties ``` 4. 在Spring Boot应用程序中使用日志。例如: ``` import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MyClass { private static final Logger logger = LoggerFactory.getLogger(MyClass.class); public void doSomething() { logger.debug("This is a debug message"); logger.info("This is an info message"); logger.warn("This is a warn message"); logger.error("This is an error message"); } } ``` 以上就是在Spring Boot中配置log4j.properties的完整步骤。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值