我試圖讓Spring Boot與Logback一起工作,並且遇到了一個我無法弄清楚的錯誤/問題。Spring引導應用程序遇到logback.groovy配置文件的問題
重現此問題的全部,我創建了一個GitHub的Spring Boot Example repo,但本質上,這是我application.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
的FileAppender
也許?任何想法/想法?