- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-webartifactId>
- <version>2.5.2version>
- <exclusions>
- <exclusion>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-loggingartifactId>
- exclusion>
- exclusions>
- dependency>
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-log4j2artifactId>
- <version>2.5.2version>
- dependency>
可以指定某些包下面的日志级别,参考下面spring日志
- "1.0" encoding="UTF-8"?>
- <Configuration monitorInterval="180" packages="">
- <properties>
- <property name="LOG_HOME">logsproperty>
- <property name="PATTERN">%date{YYYY-MM-dd HH:mm:ss,SSS} %level [%thread][%file:%line] - %msg%n%throwableproperty>
- properties>
- <Appenders>
-
- <Console name="consoleAppender" target="SYSTEM_OUT">
-
- <PatternLayout
- pattern="%style{%d{ISO8601}}{bright,green} %highlight{%-5level} [%style{%t}{bright,blue}] %style{%C{}}{bright,yellow}: %msg%n%style{%throwable}{red}"
- disableAnsi="false" noConsoleNoAnsi="false"/>
- Console>
-
-
-
- <RollingFile name="allFileAppender"
- fileName="${LOG_HOME}/all.log"
- filePattern="${LOG_HOME}/$${date:yyyy-MM}/all-%d{yyyy-MM-dd}-%i.log.gz">
-
- <PatternLayout>
- <pattern>%d %p %C{} [%t] %m%npattern>
- PatternLayout>
- <Policies>
-
-
-
- <SizeBasedTriggeringPolicy size="100 MB"/>
-
- <TimeBasedTriggeringPolicy/>
- Policies>
-
- <DefaultRolloverStrategy max="100"/>
- RollingFile>
-
-
- <RollingFile name="debugFileAppender"
- fileName="${LOG_HOME}/debug.log"
- filePattern="${LOG_HOME}/$${date:yyyy-MM}/debug-%d{yyyy-MM-dd}-%i.log.gz">
- <Filters>
-
- <ThresholdFilter level="info" onMatch="DENY" onMismatch="NEUTRAL"/>
- Filters>
-
- <PatternLayout>
- <pattern>%d %p %C{} [%t] %m%npattern>
- PatternLayout>
- <Policies>
-
-
-
- <SizeBasedTriggeringPolicy size="100 MB"/>
-
- <TimeBasedTriggeringPolicy/>
- Policies>
-
- <DefaultRolloverStrategy max="100"/>
- RollingFile>
-
-
- <RollingFile name="infoFileAppender"
- fileName="${LOG_HOME}/info.log"
- filePattern="${LOG_HOME}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz">
- <Filters>
-
- <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
- Filters>
-
- <PatternLayout>
- <pattern>%d %p %C{} [%t] %m%npattern>
- PatternLayout>
- <Policies>
-
-
-
- <SizeBasedTriggeringPolicy size="100 MB"/>
-
- <TimeBasedTriggeringPolicy/>
- Policies>
-
-
- RollingFile>
-
-
- <RollingFile name="warnFileAppender"
- fileName="${LOG_HOME}/warn.log"
- filePattern="${LOG_HOME}/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log.gz">
- <Filters>
-
- <ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
- Filters>
-
- <PatternLayout>
- <pattern>%d %p %C{} [%t] %m%npattern>
- PatternLayout>
- <Policies>
-
-
-
- <SizeBasedTriggeringPolicy size="100 MB"/>
-
- <TimeBasedTriggeringPolicy/>
- Policies>
-
- <DefaultRolloverStrategy max="100"/>
- RollingFile>
-
-
- <RollingFile name="errorFileAppender"
- fileName="${LOG_HOME}/error.log"
- filePattern="${LOG_HOME}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz">
-
- <PatternLayout>
- <pattern>%d %p %C{} [%t] %m%npattern>
- PatternLayout>
- <Policies>
-
-
-
- <SizeBasedTriggeringPolicy size="100 MB"/>
-
- <TimeBasedTriggeringPolicy/>
- Policies>
-
- <DefaultRolloverStrategy max="100"/>
- RollingFile>
-
-
- <RollingFile name="errorJsonAppender"
- fileName="${LOG_HOME}/error-json.log"
- filePattern="${LOG_HOME}/error-json-%d{yyyy-MM-dd}-%i.log.gz">
- <JSONLayout compact="true" eventEol="true" locationInfo="true"/>
- <Policies>
- <SizeBasedTriggeringPolicy size="100 MB"/>
- <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
- Policies>
- RollingFile>
- Appenders>
-
- <Loggers>
-
- <Root level="debug">
- <AppenderRef ref="allFileAppender" level="all"/>
- <AppenderRef ref="consoleAppender" level="debug"/>
- <AppenderRef ref="debugFileAppender" level="debug"/>
- <AppenderRef ref="infoFileAppender" level="info"/>
- <AppenderRef ref="warnFileAppender" level="warn"/>
- <AppenderRef ref="errorFileAppender" level="error"/>
- <AppenderRef ref="errorJsonAppender" level="error"/>
- Root>
-
- <Logger name="springfox" level="INFO"/>
-
- <Logger name="org.springframework" level="info"/>
- Loggers>
-
- Configuration>
- server:
- port: 8080
-
- logging:
- config: classpath:log4j.xml

- package org.example;
-
- import jdk.nashorn.internal.runtime.logging.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
-
- import javax.annotation.PostConstruct;
-
- /**
- * @author cyz
- * @since 2024/3/12 17:38
- */
- @Logger
- @SpringBootApplication
- public class Main {
- org.slf4j.Logger logger = LoggerFactory.getLogger(Main.class);
- public static void main(String[] args) {
- SpringApplication.run(Main.class);
- }
-
- @PostConstruct
- void testLog(){
- logger.info("输出info日志");
- logger.warn("输出warn日志");
- logger.debug("输出debug日志");
- logger.error("输出error日志");
- }
- }
