spring boot日志
日志记录当然不是一个迷人的话题,但它是一个至关重要的话题-至少对于DevOps和Ops团队而言。 尽管Web上有很多材料描述如何更改ASCII标语,但是如何有效地管理日志输出却没有太多内容。
默认情况下,Spring Boot将在控制台上输出日志,并且根本不使用任何文件。
但是,可以告诉Spring Boot登录输出文件。 在最简单的级别上,可以在application.properties
的logging.path
键下轻松地配置Spring Boot放置spring.log
文件的路径:
logging.path=/var/log
请注意,另一种选择是使用logging.file
键,以便不仅设置文件路径而且设置文件名。
logging.file=/var/log/myapp.log
尽管这对于开发目的非常有效,但是对于Ops团队来说,解压缩最终的jar,更新application.properties
文件并重新打包(对于每种不同的环境)都是不可接受的过程。
启动jar时,Spring Boot允许在命令行上作为标准系统属性覆盖打包文件(如果有)中设置的值:
java-jar-Dlogging .path = /tmp myapp.jar
最后,在命令行上调用Spring Boot Maven插件时,也可以覆盖此值。 但是,直接使用system属性对插件不起作用将生成另一个JVM。 必须使用run.jvmArguments
系统属性并将其委托给所需的值:
mvn spring-boot:run-Drun .jvmArguments ="-Dlogging.path=/tmp"
请注意,这适用于所有可用属性!