这个问题很简单,但我找不到资料。 (可能我对Java框架的知识严重缺乏)

如何使用application.properties设置日志级别? 日志文件的位置,等等?


当前回答

如果您使用Spring Boot,那么您可以直接在应用程序中添加以下属性。属性文件设置日志级别, 自定义日志记录模式并将日志存储在外部文件中。

这些是不同的日志级别及其从最小值<<最大值的顺序。

关闭<<致命<<错误<<警告<< info << debug << trace << all

# To set logs level as per your need.
logging.level.org.springframework = debug
logging.level.tech.hardik = trace

# To store logs to external file
# Here use strictly forward "/" slash for both Windows, Linux or any other os, otherwise, its won't work.      
logging.file=D:/spring_app_log_file.log

# To customize logging pattern.
logging.pattern.file= "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"

请通过这个链接来更生动地定制您的日志。

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html

其他回答

在我当前的配置中,我在应用程序中定义了它。Yaml是这样的:

logging:
  level:
    ROOT: TRACE

我正在使用spring-boot:2.2.0.RELEASE。您可以像这样定义任何应该具有TRACE级别的包。

在Springboot 2中,你可以像这样用环境变量设置根日志级别:

logging.level.root=DEBUG

或者你可以像这样为包设置特定的日志记录:

logging.level.my.package.name=TRACE

你可以使用你的application.properties来做到这一点。

logging.level。=ERROR ->设置根日志级别为ERROR ... logging.level。=DEBUG ->设置根日志级别为DEBUG log .file=${java.io.tmpdir}/myapp.log ->设置日志的绝对路径为TMPDIR/myapp.log 一个正常的默认应用程序集。关于使用概要文件进行日志记录的属性如下: application.properties:

spring.application.name=<your app name here>
logging.level.=ERROR
logging.file=${java.io.tmpdir}/${spring.application.name}.log

application-dev.properties:

logging.level.=DEBUG
logging.file=

当你在你最喜欢的IDE中开发时,你只需要添加一个-Dspring.profiles。active=dev作为应用程序运行/调试配置的VM参数。

这将使您在开发期间只在生产和调试日志中记录错误,而不将输出写入日志文件。这将提高开发期间的性能(并节省SSD驱动器几个小时的操作;))。

假设应用程序的包名为com.company.myproject。然后,您可以在应用程序中为项目中的类设置日志级别,如下所示。属性文件

loging.level.com.company.myproject = DEBUG

loging.level.org.springframework.web = DEBUG和loging.level.org.hibernate = DEBUG将仅为Spring框架web和Hibernate的类设置日志级别。

用于设置日志文件位置使用

伐木。文件= /home/ubuntu/myproject

记录:官方文档,如Spring Boot v1.2.0。RELEASE和Spring v4.1.3 RELEASE:

If the only change you need to make to logging is to set the levels of various loggers then you can do that in application.properties using the "logging.level" prefix, e.g. logging.level.org.springframework.web: DEBUG logging.level.org.hibernate: ERROR You can also set the location of a file to log to (in addition to the console) using "logging.file". To configure the more fine-grained settings of a logging system you need to use the native configuration format supported by the LoggingSystem in question. By default Spring Boot picks up the native configuration from its default location for the system (e.g. classpath:logback.xml for Logback), but you can set the location of the config file using the "logging.config" property.