我已经在互联网上搜索了几个小时。
我找不到这个琐碎的东西。
我正在使用Windows PC。
我正在使用Spring Boot并使用所有默认设置。
我想登录到文件,并且正在使用YAML应用程序格式。
我的application.yml
在src/main/resources
中。
其内容正是这些内容:
spring:
logging:
file: logs/app.log
pattern:
console: "%d [%t] %-5level %logger{36} - %msg%n"
file: "%d [%t] %-5level %logger{36} - %msg%n"
level:
com.m2evorah: DEBUG
org.springframework: DEBUG
org.hibernate: DEBUG
我可以在Eclipse IDE的控制台中正常看到日志记录,但是当我在PC上搜索app.log
文件时,找不到它。因此,即使它根据classpath等进行操作,我仍然应该能够在搜索中看到它。我的yml文件出了什么问题?
答案 0 :(得分:0)
logging.file
属性不在spring
属性树下。
在您的情况下,路径定义为spring.logging.file
。
Yaml应该看起来像这样:
logging:
file.name: logs/app.log
pattern:
console: "%d [%t] %-5level %logger{36} - %msg%n"
file: "%d [%t] %-5level %logger{36} - %msg%n"
level:
com.m2evorah: DEBUG
org.springframework: DEBUG
org.hibernate: DEBUG
编辑:
应该使用logging.file
属性而不是logging.file.name
答案 1 :(得分:0)
哇!我终于让它工作了。对我来说,成功的application.yml
是这样的:
logging:
file.name: logs/app.log
pattern:
console: "%d [%t] %-5level %logger{36} - %msg%n"
file: "%d [%t] %-5level %logger{36} - %msg%n"
level:
com.m2evorah: DEBUG
org.springframework: DEBUG
org.hibernate: DEBUG
注意使用了file.name
。
答案 2 :(得分:0)
不是将日志记录配置放在application.yml
中,而是在同一log4j.properties/log4j.yml
文件夹中创建src/main/resources
文件,然后将以下配置放入
# Root logger option
log4j.rootLogger=INFO, file
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.datePattern='_'yyyy-MM-dd'.log'
log4j.appender.file.File=logs/Facts.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=timestamp=%d{yyyy-MM-dd HH:mm:ss} | level=%-5p | source=%c{1}:%L | logMessage=%m%n
注意:将在您的项目中创建包含Facts.log文件的日志文件夹,并且每天都会生成新的日志文件并每天跟踪您的项目
只需在您要应用记录器的特定类中的代码下方放置
Logger logger = (Logger) LoggerFactory.getLogger(<classname>.class);