我已在application.yml中的spring boot应用程序中设置了日志记录级别: logging.level.com.Myapplicationname = DEBUG
应用程序在tomcat上打包并部署为war。除此之外,我还没有设置logback.xml来定义日志文件等。请告诉我,当某些用户通过浏览器使用该应用程序时,我在哪里可以看到控制台日志。是否有框架创建的默认文件。
答案 0 :(得分:33)
您应该指定logging.file
或logging.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只会登录到控制台而不会 写日志文件。如果你想写除日志文件 控制台输出需要设置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
[使用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
,我为我工作。