pom.xml
Spring Boot 默认的日志框架是logback,改用log4j2的话,需要改写pom,web项目中需要排除spring-boot-starter-logging,再自行添加spring-boot-starter-log4j2依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<!-- 排除自带的logback -->
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 日志框架改用log4j2 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
application.yml
自定义log4j2配置的话,需要在yml中指定配置文件
logging:
config: classpath:log4j2-spring-dev.xml
log4j2-spring-dev.xml
在resources目录下,新建log4j2-spring-dev.xml。不同环境,建议使用不一样的配置文件log4j2-spring-{profile}.xml
开发环境可能只需要打印到控制台即可,而生产环境日志则需要打印到日志
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN" monitorInterval="30">
<Properties>
<!-- 日志文件保存目录 -->
<Property name="LOG_HOME">./logs</Property>
<!-- 控制台日志格式(带颜色) -->
<Property name="CONSOLE_LOG_PATTERN">%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx</Property>
<!-- 普通日志格式 -->
<Property name="LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${sys:PID} --- [%15.15t] %-40.40c{1.} : %m%n%xwEx</Property>
</Properties>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="${CONSOLE_LOG_PATTERN}"/>
</Console>
<!-- 每天生成一个日志文件 -->
<RollingFile name="dailyLog" fileName="${LOG_HOME}/yclouds.log" filePattern="${LOG_HOME}/yclouds-%d{yyyy-MM-dd}.log">
<PatternLayout pattern="${LOG_PATTERN}"/>
<Policies>
<TimeBasedTriggeringPolicy modulate="true" interval="1" />
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Root level="warn">
<!-- 输出到控制台 -->
<AppenderRef ref="console"/>
<!-- 输出到文件 -->
<!--<AppenderRef ref="dailyLog"/>-->
</Root>
<!-- 指定包com.yclouds日志级别为debug,其余包日志级别用Root的warn -->
<logger name="com.yclouds" level="debug"/>
</Loggers>
</configuration>
到此,springboot集成log4j2大功告成。
GitHub地址:
https://github.com/ye17186/spring-boot-learn
pom.xmlSpring Boot 默认的日志框架是logback,改用log4j2的话,需要改写pom,web项目中需要排除spring-boot-starter-logging,再自行添加spring-boot-starter-log4j2依赖。<dependency> <groupId>org.springframework.boot</grou...
2 系统
日志
格式
系统
日志
主要是为开发排查问题提供依据,
日志
一般打印在
日志
文件中,可读性要求没那么高。
SpringBoot
默认选择的是 slf4j +
logback
的组合,默认会将
日志
打印到控制台上。
日期时间:精确到毫秒。
日志
级别:打印 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 等级别
日志
信息。
进程 ID:当前项目进程 ID 。
%d{yyyy-MM-dd HH:mm:ss.SSS}%5p ${PID:-} [%15.15t] %-40.40logger{39} : %m%n
参考https://blog.csdn.net/LiPanGeng/article/details/52104481
logback
默认的
日志
格式
%d{HH:mm:ss.SSS} [%thread] %-5level %log...
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Properties>
<Property name="PID">????</Property>
<Property name=
目录pomresource目录IDEA 启动dos命令行启动
我们使用spring的时候都会有
配置
文件,比如application.properties、log4j.properties和mybatis-config.xml等等。而我们一般都会有不同的环境需要部署:开发环境、测试环境和生产环境,而不同的环境则会有不同的
配置
,比如数据库ip。解决这个问题,使用pom文件的profile
配置
<profiles>
<!--开发环境-->
以下大部分内容转载整理自https://blog.csdn.net/vbirdbest/article/details/71751835,感谢vbirdbest的相关知识分享
首先,认识一下三胞胎
log4j是apache实现的一个开源
日志
组件
logback
同样是由log4j的作者设计完成的,拥有更好的特性,用来取代log4j的一个
日志
框架
,是slf4j的原生实现
Log4j2
是...
package com.yclouds.myhelper.web.response;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.yclouds.myhelper.web.error.code.BaseE...