spring Boot 应用程序的默认日志文件

flseospp  于 2023-03-02  发布在  Spring
关注(0)|答案(5)|浏览(427)

我在application.yml中的spring Boot 应用程序中设置了日志级别,如下所示:

logging.level.com.Myapplicationname=DEBUG

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

iaqfqrcu

iaqfqrcu1#

在Spring套管2.3.x之前

应该指定logging.filelogging.path,但不能同时指定两者(如果同时指定两者,则忽略logging.path,只考虑logging.file)。

    • 1.使用日志记录. 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文档中:
默认情况下,Spring Boot将仅记录到控制台,而不会写入日志文件。如果您希望在控制台输出之外写入日志文件,则需要设置logging. file或logging. path属性(例如,在www.example.com中)。application.properties).
Spring Boot's how to logging doc中:
如果您需要对日志记录进行的唯一更改是设置各种日志记录器的级别,则可以在www.example.com中使用"logging. level"前缀进行此操作,例如,您还可以使用"logging. file"设置要记录到的文件的位置(除控制台外)。application.properties using the "logging.level" prefix, e.g. You can also set the location of a file to log to (in addition to the console) using "logging.file".

    • 2.使用日志记录. 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中:
[* Using logging. path *]将spring.log写入指定目录。名称可以是确切位置或相对于当前目录的位置。
springframework.guru on Spring Boot logging
还有一个logging. path属性,用于指定日志文件的路径。如果使用该属性,Spring Boot将在指定路径中创建一个spring.log文件。但是,您不能同时指定logging. file和logging. path属性。如果同时指定了logging. file和logging. path属性,Spring Boot将忽略这两个属性。

自Spring Boot2.3.x以来

先前使用的属性logging.filelogging.path在Spring-Boot 2.2.x中已弃用,并在版本2.3.x中被替换为logging.file.namelogging.file.path
请参见Spring Boot文档。

7fhtutme

7fhtutme2#

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

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

或者用这个

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

注意如果你使用logging.file.path,它将写入spring.log到指定的目录。名称可以是一个精确的位置或相对于当前目录

wgeznvg7

wgeznvg73#

最新的 Spring 发布版本有一点变化,现在我们必须使用:
logging.file.name
而不是使用这个(这是老方法)
logging.file
希望这会有帮助。

ryhaxcpt

ryhaxcpt4#

正如alexbt所说,您不能同时使用这两个属性(logging.path和logging.file),因为Sping Boot 会忽略这两个属性。
但是您可以使用带有路径编码的logging.file。
示例:日志文件=/路径/到/日志/您的日志文件. log

ru9i0ody

ru9i0ody5#

对于spring Boot 2.3.X,如果在windows中部署应用程序,您可以使用以下配置。E是驱动器名称。logging.file.name=E:\\A\\B\\C\\log-file.loglogging.file.name=E:/A/B/C/log-file.log

相关问题