我想在我的項目中配置控制檯appender。當我在本地調試應用程序時它工作正常。然而,當我建立它在我的罐子在搖籃和推出它作爲一個獨立的應用程序我得到以下錯誤:無法在dropwizard中配置日誌記錄。無法解析類型ID「控制檯」
[0]; Could not resolve type id 'console' into a subtype of [simple type, class io.dropwizard.logging.AppenderFactory]: known type ids = [AppenderFactory]
這裏是我的.yml
文件的片段:
logging:
appenders:
- type: console
timeZone: UTC
logFormat: '%-5level [%date{ISO8601}] [%X{requestId}] %c: %msg%n%rootException'
我能找到有關類似問題的帖子。舉例來說,這個線程here建議檢查文件META-INF/services/io.dropwizard.logging.AppenderFactory
是在應用程序JAR,如果內容是如下:
io.dropwizard.logging.ConsoleAppenderFactory
io.dropwizard.logging.FileAppenderFactory
io.dropwizard.logging.SyslogAppenderFactory
我已經驗證它。在我的情況下,文件就是它應該在的地方,它的內容完全一樣。 任何幫助將不勝感激。
Dropwizard版本0.9.2
是的,它建立了一個肥缸。我的內部jar結構應該如何讓Dropwizard知道如何正確讀取日誌配置?正如我已經提到,我的jar包含META-INF/services/io.dropwizard.logging.AppenderFactory,它的描述如上所述。 ServicesResourceTransformer將應用哪些轉換?請澄清。 –
讓ServicesResourceTransformer將所有可能的接口在多個jar(在他們自己的META-INF文件中)的實現合併到一個文件中。你可以嘗試添加另一個變壓器到你的構建配置? org.apache.maven.plugins.shade.resource.ManifestResourceTransformer – kgdinesh
我不明白爲什麼我需要首先調用shadow插件。我提到的線程解釋說,如果結構不像描述的那樣,問題就會顯現出來。相反,在我的情況下,我的jar包含META-INF/services/io.dropwizard.logging.AppenderFactory以及上述內容。所以,在我看來,根本原因可能完全不同。 –