千家信息网

SpringBoot的日志信息

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,最近接触了一个SpringBoot的项目,为什么会出现SpringBoot呢?SpringBoot有什么优点呢?其实SpringBoot是出身在一个高并发的时代,SpringBoot是基于Sping的
千家信息网最后更新 2025年12月02日SpringBoot的日志信息

最近接触了一个SpringBoot的项目,为什么会出现SpringBoot呢?SpringBoot有什么优点呢?其实SpringBoot是出身在一个高并发的时代,SpringBoot是基于Sping的开发提供了更快的入门体验,创建可以独立运行的Spring应用,直接嵌入Tomcat或Jetty服务器,不需要打包成WAR文件,提供推荐的基础POM文件(starter)来简化Apache Maven配置,尽可能根据项目依赖来自动配置Spring框架,提供可以直接在生产环境中使用的功能,如性能指标,应用信息和应用健康检查,开箱即用,没有代码生成,也无需XML配置。同时也可以修改默认值来满足特定的需求,其他大量的项目都是基于Spring Boot之上的,如Spring Cloud。

总之,SpringBoot使编码变得更加简单,是配置更加简单,使部署更加简单,使监控更加简单。

那SpringBoot有什么缺点呢?依赖太多,随便的一个SpringBoot应用都是好几十M,缺少监控集成方案,安全管理方案,中文的文档和资料太少且不够深入。

前面简单的说了一下SpringBoot的特点,下面我们言归正传,学习一下SpringBoot的日志,可以参考官网https://docs.spring.io/spring-boot/docs/1.3.7.RELEASE/reference/htmlsingle/#b一定oot-features-logging的相关文档。

如果你对SpringBoot有所了解读,那么你对application.properties这个文件一定不。会陌生,我们在官方的文档上也可以看到相关的描述。

logging.level.*= # Log levels severity mapping. For instance `logging.level.org.springframework=DEBUG`

上面的配置就可以设置日志的输出级别。

logging.level.com.zcp.test.springboot.service.UserService=debug

你也可以跟我一样,设置具体类的日志级别。

logging.path= # Location of the log file. For instance `/var/log`

这个设置是设置日志的路径

如:logging.path=e:/tep/logs

通过这样简单的设置就可以将指定级别的日志打印在我们想要输出的目录啦。是不是很简单呢?

还有其他的说明如下:

springboot默认的日志级别是info

* 可以通过logging.level.*=debug 来设置,*可以是包,也可以是某个类

*

* 使用示例:

logging.level.com.zcp.test.springboot.service.UserService=debug

logging.level.com.zcp.test.springboot.UserDao=OFF

*

* 日志级别有:TRACE.DEBUG,INFO,WARN,ERROR,FATAL.OFF

* 日志级别OFF表示关闭日志

* logging.file=e:/tmp/my.log指定文件的

* logging.path 直接日志目录(此时的日志名字为spring.log)

* 日志文件输出,文件的大小10M后,就会分割了

* logging.pattern.console这个是配置控制台输出日志的patten

* logging.pattern.file是这个是配置日志文件输入日志的pattern

*

*

* springboot默认支持logback

* 也就是说:只需要在classpath下放一个logback.xml,logback-spring.xml的文件,即可指定日志的输出


通过官网我们可以看到,SpringBoot是支持我们常见的所有日志组件的。log4j,log4j2.logback.

所以我们在默认的情况下如果使用默认的logback.xml进行配置日志信息,那么就显得更加容易了。

只需要在classpath的一个路径下新建一个logback.xml文件即可。

学习可以参看这个文档:http://www.cnblogs.com/warking/p/5710303.html

常见的logback.xml的配置信息如下




%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n


${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log

30

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n

10MB




如果你希望你的日志级别配置更加细粒度一点呢?可以参看下面的配置信息:

%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n

ERROR

ACCEPT

DENY

${log_dir}/%d{yyyy-MM-dd}/error-log.log

${maxHistory}

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n

WARN

ACCEPT

DENY

${log_dir}/%d{yyyy-MM-dd}/warn-log.log

${maxHistory}

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n

INFO

ACCEPT

DENY

${log_dir}/%d{yyyy-MM-dd}/info-log.log

${maxHistory}

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n

DEBUG

ACCEPT

DENY

${log_dir}/%d{yyyy-MM-dd}/debug-log.log

${maxHistory}

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n

TRACE

ACCEPT

DENY

${log_dir}/%d{yyyy-MM-dd}/trace-log.log

${maxHistory}

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n



如果你使用的不想使用logback,想使用其他的日志组件可以参考下面的步骤:

*

* 使用其他的日志组件的步骤:()

* 1、排除掉默认的日志组件:spring-boot-starter-logging

* 2:加入新的日志路径依赖

* 3:把相应的配置文件放到classpath下


下面的配置是排除默认的log4j2,把需要的日志组件的依赖添加进来。

org.springframework.boot

spring-boot-starter

org.springframework.boot

spring-boot-starter-log4j2

org.springframework.boot

spring-boot-starter-log4j2

其实直接将logback.xml放在resources下也是可以的。


可以参考简单的log4j.xml的配置信息如下:



以上部分内容来自网络,如存在版权问题,请及时联系作者删除。

0