2011-04-22 74 views
2

我們需要在羣集glassfish環境中託管多個Web應用程序。 Logback是Web應用程序使用的日誌記錄框架。日誌配置的修改(例如日誌級別)是一個我想獲得一些專家意見和建議的問題。多個Web應用程序的日誌記錄實踐

目前我們已經放置的logback配置文件到單獨的戰爭文件的原因夫婦

  1. 手動放置logback.xml外的戰爭文件添加一個額外的任務,安裝/升級程序。
  2. 在未來版本的Web應用程序中對配置文件所做的任何修改都必須由軟件升級程序處理。任何例如這種修改可能是接受日誌文件位置作爲JNDI屬性。網絡應用程序的數量增加了此任務的複雜性。

在戰爭中放置配置文件的缺點是它使得很難做任何修改。對於例如添加新的記錄器或更改日誌級別。 JMX是支持的l​​ogback的替代,但我看到了兩個問題,它

  1. 通過JMX所做的任何更改不能持續。任何服務器重新啓動都會丟失配置的更改。
  2. 由logback提供的JMX支持不允許爲例如添加新的appender。一個新的文件appender

我將不勝感激,如果你能提供任何關於logback配置文件的位置或我上面提到的JMX問題的建議。

回答

0

我們遇到過類似的問題,必須用其他的記錄機制來解決 - 它確實可能帶來令人不快的折衷。我剛開始使用LogBack,但我的理解是它允許在配置文件中使用變量替換(http://logback.qos.ch/manual/joran.html#variableSubstitution)。我的計劃是使用此功能根據需要使用系統屬性路由日誌,如鏈接示例中所示。

至於JMX,同意。我們廣泛使用JMX進行監控,並在條件允許時對內部配置進行臨時更改,但JMX不是永久更改的絕佳選擇;至少應該通過變更控制流程。

我的建議:探索變量替換方法並使用JMX進行臨時運行時調整。

+0

其實我上面提到的兩個問題不能通過變量替換來解決。丟失通過JMX所做的更改(如更改記錄器的日誌級別)無法使用變量替換解決,也無法解決添加新appender的第二個問題 – 2011-11-06 16:53:03

相關問題