springboot日志

日志格式

2023-11-23 07:23:18.861 INFO 28351 — [ main] o.s.b.d.f.logexample.MyApplication : Starting MyApplication using Java 1.8.0_392 on myhost with PID 28351 (/opt/apps/myapp.jar started by myuser in /opt/apps/)
2023-11-23 07:23:18.868 INFO 28351 — [ main] o.s.b.d.f.logexample.MyApplication : No active profile set, falling back to 1 default profile: “default”
2023-11-23 07:23:20.194 INFO 28351 — [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2023-11-23 07:23:20.209 INFO 28351 — [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2023-11-23 07:23:20.209 INFO 28351 — [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.83]
2023-11-23 07:23:20.342 INFO 28351 — [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2023-11-23 07:23:20.342 INFO 28351 — [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1404 ms
2023-11-23 07:23:20.946 INFO 28351 — [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ‘’
2023-11-23 07:23:20.962 INFO 28351 — [ main] o.s.b.d.f.logexample.MyApplication : Started MyApplication in 2.7 seconds (JVM running for 3.157)

日志格式:

  • 日期和时间:精度为毫秒,并且易于排序。
  • 日志级别:ERROR、WARN、INFO、DEBUG或TRACE。
  • 进程 ID。
  • —用于区分实际日志消息开始的分隔符。
  • 线程名称:括在方括号中(可能会被截断以用于控制台输出)。
  • 记录器名称:这通常是源类名(通常缩写)。
  • 日志消息。

日志级别

1
2
3
4
5
6
logging:
level:
# 其他未配置包的输出级别为error
root: error
# org.springframework.web包的输出级别为debug
org.springframework.web: debug

自定义日志配置

  1. 根据不同的日志系统,如果有以下文件,将默认加载:

    Logback: logback-spring.xml,logback-spring.groovy,logback.xml, logback.groovy
    Log4j2: log4j2-spring.xml或者log4j2.xml
    JDK (Java Util Logging): logging.properties

  2. 如果不使用以上文件名,则需要在application.yml配置加载

    1
    2
    logging: 
    config: classpath:log-config.xml