Java -- springboot 配置 log4j

1、配置 maven 依赖

<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>
    <version>1.3.8.RELEASE</version>
</dependency>

2、自定义匹配规则

package com.sample.common.log4j;

import org.apache.log4j.DailyRollingFileAppender;
import org.apache.log4j.Priority;

public class CustomAppender extends DailyRollingFileAppender {

    @Override
    public boolean isAsSevereAsThreshold(Priority priority) {
        //只判断是否相等,而不判断优先级
        return this.getThreshold().equals(priority);
    }
}

3、配置 log4j.properties

# Log4j配置
log4j.rootLogger=debug,stdout,info_log,debug_log,warn_log,error_log

#针对特定包
log4j.logger.org.springframework=WARN

# 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=[%5p] %d{yyyy-MM-dd HH:mm:ss} [ %c >> %M:%L ]%n%m%n

#info log
log4j.logger.info_log=info
log4j.appender.info_log=com.sample.common.log4j.CustomAppender
log4j.appender.info_log.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.info_log.File=d:/logs/info.log
log4j.appender.info_log.Append=true
log4j.appender.info_log.Threshold=INFO
log4j.appender.info_log.layout=org.apache.log4j.PatternLayout 
log4j.appender.info_log.layout.ConversionPattern=[%5p] %d{yyyy-MM-dd HH:mm:ss} [ %c >> %M:%L ]%n%m%n

#debug log
log4j.logger.debug_log=debug
log4j.appender.debug_log=com.sample.common.log4j.CustomAppender
log4j.appender.debug_log.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.debug_log.File=d:/logs/debug.log
log4j.appender.debug_log.Append=true
log4j.appender.debug_log.Threshold=DEBUG
log4j.appender.debug_log.layout=org.apache.log4j.PatternLayout 
log4j.appender.debug_log.layout.ConversionPattern=[%5p] %d{yyyy-MM-dd HH:mm:ss} [ %c >> %M:%L ]%n%m%n

#warn log
log4j.logger.warn_log=warn
log4j.appender.warn_log=com.sample.common.log4j.CustomAppender 
log4j.appender.warn_log.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.warn_log.File=d:/logs/warn.log
log4j.appender.warn_log.Append=true
log4j.appender.warn_log.Threshold=WARN
log4j.appender.warn_log.layout=org.apache.log4j.PatternLayout 
log4j.appender.warn_log.layout.ConversionPattern=[%5p] %d{yyyy-MM-dd HH:mm:ss} [ %c >> %M:%L ]%n%m%n

#error
log4j.logger.error_log=error
log4j.appender.error_log=com.sample.common.log4j.CustomAppender
log4j.appender.error_log.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.error_log.File=d:/logs/error.log 
log4j.appender.error_log.Append=true
log4j.appender.error_log.Threshold=ERROR 
log4j.appender.error_log.layout=org.apache.log4j.PatternLayout
log4j.appender.error_log.layout.ConversionPattern=[%5p] %d{yyyy-MM-dd HH:mm:ss} [ %c >> %M:%L ]%n%m%n

4、使用方式

package com.sample.modules.web.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class Log4jController {

    private Logger logger = LoggerFactory.getLogger(Log4jController.class);

    @RequestMapping(value = "/log")
    public String log(){
        logger.info("info message");
        logger.debug("debug message");
        logger.warn("warn message");
        logger.error("error message");
        return "success";
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是配置log4j2的步骤: 1. 在pom.xml文件中添加log4j2的依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> ``` 2. 在application.properties文件中添加log4j2的配置文件路径: ```properties logging.config=classpath:log4j2.xml ``` 其中,log4j2.xml是你自定义的log4j2配置文件。 3. 创建log4j2.xml文件并配置日志输出格式、日志级别等信息。以下是一个简单的log4j2.xml配置示例: ```xml <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> </Appenders> <Loggers> <Root level="info"> <AppenderRef ref="Console"/> </Root> </Loggers> </Configuration> ``` 在这个示例中,日志会输出到控制台,并且包含时间戳、线程信息、日志级别、类名和日志消息。 4. 在你的代码中使用log4j2进行日志记录。例如,在Spring Boot的应用程序中,你可以使用`org.slf4j.Logger`接口进行日志记录。以下是一个示例: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; @RestController public class MyController { private static final Logger logger = LoggerFactory.getLogger(MyController.class); @GetMapping("/hello") public String hello() { logger.info("Hello, world!"); return "Hello, world!"; } } ``` 在这个示例中,我们使用`logger.info()`方法记录了一条日志。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值