簡體   English   中英

部署到Jetty的每場戰爭的單獨日志文件

[英]Separate log file for each war deployed to Jetty

我有一個打包為war文件的Web應用程序,它使用slf4j作為日志記錄外觀。 它取決於slf4j-api-*.jar ,但其中不包含一個。 我想將這場戰爭部署到Jetty並在Web容器端配置日志記錄。
我已將slf4j-api-*.jarlogback-classic-*.jarlogback-core-*.jar logback.xml ${jetty.home}/lib/ext ,將logback.xml ${jetty.home}/resources ,我將其配置為將日志寫入${jetty.home}/logs/jetty.log
這可以正常工作,但是我已將所有內容記錄到jetty.log 我想將每個戰爭日志和碼頭自己的日志寫到單獨的文件中。

  1. 日志記錄框架無關緊要,如果有幫助,我可以使用與logback不同的方法。
  2. 我已經閱讀了logback文檔中的“日志記錄分隔”一章。 這迫使我更改了web.xml並向戰爭添加了logback jar,所以這不是我想要的。
  3. 我已經閱讀了“ Jetty / Tutorial /使用Logback篩選日志”。 它是關於按hotstname而不是按應用程序進行分隔,因此也無濟於事。

在文檔“ 使用LogBack篩選日志”中 ,該示例使用slf4j MDC將“主機”設置為拆分。 您可以將任何想要的拆分選項與自己的MDCHandler一起使用

由於關鍵是使用MDCHandler,因此它必須能夠挖掘傳入的Request對象中存在的任何信息。 (其原因是,MDCHandler不在webapp本身的servlet范圍和上下文的參與者,因為它位於它的前面)

一種技術是使用request.getContextPath()在已部署Web應用程序的任何上下文上進行拆分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM