Spring Boot 允许您使用 application.properties 配置日志系统的一些基本方面,但是有limits http://docs.spring.io/spring-boot/docs/1.2.3.RELEASE/reference/htmlsingle/#howto-logging:
要配置日志系统的更细粒度设置,您需要使用相关日志系统支持的本机配置格式。
换句话说,如果您想做的事情没有通过属性明确支持,您将无法添加和编辑logback.xml
文件(假设您正在使用 logback)。
那么,让我们看看您的要求:
- “我想将消息记录在文件中而不是控制台上。”
根据docs http://docs.spring.io/spring-boot/docs/1.2.3.RELEASE/reference/htmlsingle/#boot-features-logging-file-output:
默认情况下,Spring Boot只会记录到控制台,不会写入日志文件。如果你想写日志文件此外(强调)到控制台输出,您需要设置一个logging.file或logging.path属性(例如在您的application.properties中)。
换句话说,not无法使用属性来记录到控制台。
- “我只在 application.log 文件中获取信息日志消息,但我也想要错误消息和调试消息。”
默认情况下,Spring Boot 会在 INFO 级别记录日志,其中应该包含 ERROR,您确定吗?not使用默认设置获取错误日志?
另外,您只指定要记录的最高级别,而不是每个级别,并且必须指定要设置级别的记录器。
这是行不通的:
logging.level: DEBUG
logging.level: ERROR
这是如何根据以下内容配置自定义日志级别的示例docs http://docs.spring.io/spring-boot/docs/1.2.3.RELEASE/reference/htmlsingle/#boot-features-custom-log-levels:
logging.level.org.springframework.web:调试
logging.level.org.hibernate: 错误
您还可以使用logging.level.*
属性来设置根记录器的级别,如下所示:
logging.level.ROOT: DEBUG
请注意,在 ROOT 记录器上设置 DEBUG 日志记录将生成大量日志。我刚刚在这里进行了测试,在启动时获得了大约 13MB 的日志,没有执行任何操作。
- “我想要 error.log 文件中的错误消息、debug.log 中的调试消息以及 info.log 中的信息消息。”
同样,这不能单独使用属性来完成。 Spring Boot 允许你配置一个logging.file
属性将包含所有日志。
有关可用日志记录属性和示例值的完整列表,请参阅here http://docs.spring.io/spring-boot/docs/1.2.3.RELEASE/reference/htmlsingle/#common-application-properties.