[英]Separate log file for each war deployed to Jetty
我有一個打包為war文件的Web應用程序,它使用slf4j作為日志記錄外觀。 它取決於slf4j-api-*.jar
,但其中不包含一個。 我想將這場戰爭部署到Jetty並在Web容器端配置日志記錄。
我已將slf4j-api-*.jar
, logback-classic-*.jar
和logback-core-*.jar
logback.xml
${jetty.home}/lib/ext
,將logback.xml
${jetty.home}/resources
,我將其配置為將日志寫入${jetty.home}/logs/jetty.log
。
這可以正常工作,但是我已將所有內容記錄到jetty.log
。 我想將每個戰爭日志和碼頭自己的日志寫到單獨的文件中。
在文檔“ 使用LogBack篩選日志”中 ,該示例使用slf4j MDC將“主機”設置為拆分。 您可以將任何想要的拆分選項與自己的MDCHandler一起使用 。
由於關鍵是使用MDCHandler,因此它必須能夠挖掘傳入的Request對象中存在的任何信息。 (其原因是,MDCHandler不在webapp本身的servlet范圍和上下文的參與者,因為它位於它的前面)
一種技術是使用request.getContextPath()在已部署Web應用程序的任何上下文上進行拆分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.