TRACE < DEBUG < INFO < WARN < ERROR < FATAL。
如果设置为
INFO
,则低于
INFO
的信息都不会输出其他的依次类推
默认情况下,Spring Boot会用
Logback
来记录内部日志,并用
INFO
级别输出到控制台你不用做任何设置
从上图可以看到,日志输出内容元素具体如下:
时间日期:精确到毫秒
日志级别:
分隔符:--- 标识实际日志的开始
线程名:方括号括起来(可能会截断控制台输出)
Logger名:通常使用源代码的类名
自己程序添加日志
基于类的方式
以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法
这和我们单独使用日志jar包有所不同
package com.fashvn.ctmsdata.logtest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogTest {
private static final Logger logger=LoggerFactory.getLogger(LogTest.class);
public static void main(String[] args) {
logger.error("简单的日志记录测试:{}+{}={}",1,2,3);
复制代码
基于注解方式
上面那种方式每次都要重复添加记录器那一行代码这里可以基于注解方式但是需要使用
lombok
前提你IDEA配置了lombok插件然后maven添加了lombok依赖才可以
package com.fashvn.ctmsdata.logtest;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class LogTest {
public static void main(String[] args) {
log.error("简单的日志记录测试:{}+{}={}", 1, 2, 3);
复制代码
现在你就可以愉快的在自己程序了使用日志了
您还可以通过启动您的应用程序 --debug 标志来启用“调试”模式(开发的时候推荐开启),以下两种方式皆可:
在运行命令后加入--debug标志,如:
$ java -jar springTest.jar --debug
在application.properties中配置
debug=true
,该属性置为true的时候,核心Logger(包含嵌入式容器、hibernate、spring)会输出更多内容,但是你
自己应用的日志
并不会输出为DEBUG级别。
如何你的日志记录需求简单你可以通过springboot提供的属性进行日志的简单配置复杂日志记录功能需要单独定义配置文件
logging:
file:
name:
path:
max-size:
max-history:
pattern:
file:
console:
dateformat:
level:
rolling-file-name:
level:
root: debug
com.fashvn.ctmsdata: debug
复制代码
自定义日志配置
根据不同的日志系统,你可以按如下规则组织配置文件名,就能被正确加载:
Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy
Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml
Log4j2:log4j2-spring.xml, log4j2.xml
JDK (Java Util Logging):logging.properties
Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml),命名为logback-spring.xml的日志配置文件,spring boot可以为它添加一些spring boot
特有
的配置项
如果你即想完全掌控日志配置,但又不想用logback.xml作为Logback配置的名字,application.yml可以通过logging.config属性指定自定义的名字
logging.config=classpath:logging-config.xml
复制代码
虽然一般并不需要改变配置文件的名字,但是如果你想针对不同运行时Profile使用不同的日志配置,这个功能会很有用。
一般不需要这个属性,而是直接在logback-spring.xml中使用springProfile配置,不需要logging.config指定不同环境使用不同配置文件
<?xml version="1.0" encoding="UTF-8"?>
scan true:配置文件如果发生改变,将会被重新加载,默认值为true
scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。默认的时间间隔为1分钟,当scan为true时,此属性生效。
debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false
<configuration scan="true" scanPeriod="60 seconds" debug="false">