我正在尝试让 Spring Boot 与 Logback 一起使用,并且遇到了我无法弄清楚的错误/问题。
为了完整重现这个问题,我在 GitHub 上创建了一个Spring Boot Example repoapplication.yml
,但本质上,这是我的:
logging:
config: 'logback.groovy'
server:
port: 9200
error:
whitelabel:
enabled: false
我的logback.groovy
:
statusListener(OnConsoleStatusListener)
def LOG_PATH = '/opt/springbootexample/logs/springbootexample'
appender('CONSOLE', ConsoleAppender) {
encoder(PatternLayoutEncoder) {
pattern = '%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n'
}
}
appender('FILE', FileAppender) {
file = "${LOG_PATH}.log"
encoder(PatternLayoutEncoder) {
pattern = '%msg%n'
outputPatternAsHeader = true
}
}
appender('ROLLING', RollingFileAppender) {
encoder(PatternLayoutEncoder) {
Pattern = '%d %level %thread %mdc %logger - %m%n'
}
rollingPolicy(TimeBasedRollingPolicy) {
fileNamePattern = "${LOG_PATH}-%d{yyyy-MM}.zip"
maxHistory = 30
totalSizeCap = '1KB'
}
}
root(INFO, ["CONSOLE", "ROLLING"])
我已经确保/opt/springbootexample/logs
我运行的存在,chmod -R 777 /opt/springbootexample
所以我的 Spring Boot 应用程序应该没有问题在那里创建日志文件并写入它们。
当我在本地运行应用程序时,我没有收到任何错误/异常/警告;控制台输出中的一切看起来都很好。然后我启动一个浏览器并将其指向http://localhost:9200
,它应该返回一个简单的虚拟消息,但是没有任何反应。更糟糕的是,控制台中也没有任何反应。
唯一的线索是,在我关闭应用程序后,如果我转到/opt/springbootexample/logs/springbootexample.log
,它的内容是:
#logback.classic pattern: %msg%n
这告诉我,也许我logback.groovy
的 's中可能有一些错误配置FileAppender
?有什么想法/想法吗?