@ 在市场上存在非常多的日志框架,如图:
1 默认日志配置
- 以下日志级别,由低到高:trace < debug < info < warn < error
- Spring Boot默认设定的是 info 级别日志,(日志默认级别也称为root级别)。 可修改默认级别日志:logging.level.level=级别名
- 可以进行调整日志级别,设定某个级别后,就只打印设定的这个级别及后面高级别的日志信息 ,没有指定级别的就用SpringBoot默认规定的级别:root级别
- 可修改指定包的日志级别 指定某个包下面的所有日志级别:logging.level.包名=级别名。
- 日志记录器 Logger logger = LoggerFactory.getLogger(getClass());
应用:
跟踪运行信息 : logger.trace(“这是 trace 日志信息!”);
调试信息 : logger.debug(“这是 debug 日志信息!”);
自定义信息 : logger.info(“这是 info 日志信息”);
警告信息:如果运行结果是不预期的值,则可以进行警告 : logger.warn(“这是 warn 日志信息”);
错误信息:出现异常捕获时 : logger.error(“这是 error 日志信息”);
修改日志默认级别:application.properties 中修改日志默认配置
- 调整日志级别: trace < debug < info < warn < error
- com.mengxuegu包下的级别
- logging.level.com.mengxuegu=trace
- 设置root级别 logging.level.root=debug
修改日志文件生成路径
修改日志输出的格式
日志输出格式说明:
- %d 输出日期时间,
- %thread 输出当前线程名, -
- %-5level 输出日志级别,左对齐5个字符宽度 -
- %logger{50} 输出全类名长50个字符,超过按照句点分割 -
- %msg 日志信息
- %n 换行符
修改控制台输出的日志格式
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
修改文件中输出的日志格式
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} >>> [%thread] >>> %-5level >>> %logger{50} >>> %msg%
默认配置
在 spring-boot-2.0.6.RELEASE.jar中的\org\springframework\boot\logging\logback\base.xml 做了日志 的默认配置
日志文件采用方式为:滚动文件追加器
自定义Logback日志配置
- 在类路径下,存放对应日志框架的自定义配置文件即可;SpringBoot就不会使用它默认的日志配置文件了
- 在resources 目录下创建 logback.xml , 文件内容如下,SpringBoot就会采用以下日志配置:
logback.xml :是直接就被日志框架加载了。
logback-spring.xml:配置项不会被日志框架直接加载,而是由 SpringBoot 解析日志配置文件,进而可以使用 SpringBoot 的 Profile 特殊配置
使用 Profile 特殊配置
使用日志 Profille 特殊配置, 可根据不同的环境激活不同的日志配置
- 将自定义日志配置文件名 logback.xml 改为 logback-spring.xml 修改
- 日志配置文件中 第25行,如下:
指定运行环境: --spring.profiles.active=dev
如果使用 logback.xml 作为日志配置文件,还指定 Profile 特殊配置,则会有以下错误:
切换日志框架
将SpringBoot默认的 logback 切换为 log4j2 日志框架
在项目的 pom.xml 切换log4j2,如图: