spring boot application

时间:2016-08-26 04:15:03

标签: logging spring-boot

我已在application.yml中的spring boot应用程序中设置了日志记录级别:    logging.level.com.Myapplicationname = DEBUG

应用程序在tomcat上打包并部署为war。除此之外,我还没有设置logback.xml来定义日志文件等。请告诉我,当某些用户通过浏览器使用该应用程序时,我在哪里可以看到控制台日志。是否有框架创建的默认文件。

4 个答案:

答案 0 :(得分:33)

您应该指定logging.filelogging.path,但不能指定两者( 如果同时指定了两者,则会忽略logging.path并且仅考虑logging.file

<强> 1。使用logging.file

您可以使用以下方式之一logging.file

logging.file = logfile.log                     //in current folder
logging.file = relativepath/to/logfile.log     //relative path with filename
logging.file = /fullpath/to/logfile.log        //full path with filename

Spring Boot Documentation中:

  

默认情况下,Spring Boot只会登录到控制台而不会   写日志文件。如果你想写除日志文件   控制台输出需要设置logging.file或logging.path属性   (例如在你的application.properties中)。

Spring Boot's how to logging doc中:

  

如果您需要对记录进行的唯一更改是设置级别   各种记录器然后你可以在application.properties中使用   &#34; logging.level&#34;前缀,例如   您还可以设置要记录的文件的位置(除了   console)使用&#34; logging.file&#34;。

<强> 2。使用logging.path

您也可以使用logging.path来设置路径,在这种情况下,日志文件将自动命名为spring.log

logging.path = ./                         // -> spring.log in current folder
logging.path = relativepath/to/logs       // -> relativepath/to/logs/spring.log
logging.path = /fullpath/to/logs          // -> /fullpath/to/logs/spring.log

Spring Boot doc中:

  

[使用logging.path ]将spring.log写入指定目录。   名称可以是精确位置或相对于当前目录。

springframework.guru on Spring Boot logging

  

还有一个logging.path属性,用于指定日志记录的路径   文件。如果你使用它,Spring Boot会在中创建一个spring.log文件   指定的路径。但是,您不能同时指定logging.file和   logging.path属性在一起。如果完成,Spring Boot将忽略   两者。

答案 1 :(得分:17)

对于使用Spring Boot 2.2.x的用户,您需要将其放入配置文件中

logging.file.name='/var/log/app.log'

或使用

logging.file.path='/var/log'

请注意,如果您使用logging.file.path,则会将 spring.log 写入指定目录。名称可以是确切位置,也可以相对于当前目录

答案 2 :(得分:7)

正如alexbt所说,你不能同时使用这两个属性(logging.path和logging.file),因为Spring Boot会忽略这两个属性。

但是你可以使用带有编码路径的logging.file。

实施例: logging.file = /路径/到/日志/ your_logfile.log

答案 3 :(得分:5)

对于最新的春季发行版,我们必须使用logging.file.name代替logging.file,我为我工作。