日志框架:
UCL JUL jboss-logging, logback , log4j , log4j2 , slf4j
spring boot默认选用 slf4j , logback
spring boot默认已经配置好了日志 ,我们直接使用即可。
使用:
Logger logger=LoggerFactory.getLogger(this.getClass());
@ResponseBody
@RequestMapping("welcome")
public String welcome() {
//return "welcome to spring boot!";
logger.trace("tarce***********");
logger.debug("debug***********");
logger.info("info***********");
logger.warn("warn***********");
logger.error("error***********");
return people.toString();
}
输出:
2019-05-01 19:17:50.873 INFO 6224 --- [nio-8881-exec-1] o.fifi.maven.FirstWarProj.MyController : info***********
2019-05-01 19:17:50.874 WARN 6224 --- [nio-8881-exec-1] o.fifi.maven.FirstWarProj.MyController : warn***********
2019-05-01 19:17:50.874 ERROR 6224 --- [nio-8881-exec-1] o.fifi.maven.FirstWarProj.MyController : error***********
我们看到只有后面三个级别的log才有输出
public enum LogLevel {
TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
}
日志级别:
TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
日志级别修改 如 application.properties中 ,logging.level.主配置类所在包=级别 :
#modify logging level
logging.level.org.fifi.maven.FirstWarProj=trace
日志输出到文件系统中:
#modify loggin output to file
logging.file.name=springboot.log
日志输出到 项目根目录下的springboot.log文件中。
也可以将日志输出到一个绝对路径中,如:logging.file.name=/home/XXX/springboot.log
还可以存储到一个文件夹中:
logging.file.path=/home/XXX/
默认的日志文件名为:spring.log
日志格式修改:
a、日志显示在console中
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} -%msg%n
%d : 日期时间
%thread : 线程名
%-5level : 显示日志级别,-5表示从左显示5个字符宽度
%logger{50} : 设置日志长度
%msg : 日志消息
%n : 回车
输出:
2019-05-01 [http-nio-8881-exec-1] TRACE org.fifi.maven.FirstWarProj.MyController -tarce***********
2019-05-01 [http-nio-8881-exec-1] DEBUG org.fifi.maven.FirstWarProj.MyController -debug***********
2019-05-01 [http-nio-8881-exec-1] INFO org.fifi.maven.FirstWarProj.MyController -info***********
2019-05-01 [http-nio-8881-exec-1] WARN org.fifi.maven.FirstWarProj.MyController -warn***********
2019-05-01 [http-nio-8881-exec-1] ERROR org.fifi.maven.FirstWarProj.MyController -error***********
b、日志输出到文件的格式:
logging.pattern.file=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} -%msg%n
logging相关文件见:
https://docs.spring.io/spring-boot/docs/2.1.4.RELEASE/reference/htmlsingle/#boot-features-logging