2013-12-08 15 views
1

我正在構建一個簡單的REST服務應用程序,該應用程序將部署到Glassfish。我目前使用logback作爲logback.xml的應用程序,並且一個相關性工件也使用logback並且有其自己的logback.xml。所以,我有一個問題,它不一定與Glassfish有關,這兩個logback.xmllogback所利用?只使用了應用程序還是使用了其中的依賴項?關於Glassfish應用程序日誌的常見模式有哪些?

我遇到的另一個問題,與Glassfish有關,是否應用程序的日誌將合併到glassfish/domains/<domain-dir(mine is domain1)>/logs/server.log不管是什麼?我有FileAppender appender在應用程序logback.xml與相對文件路徑。那麼,這些相對文件路徑的父路徑是什麼?例如,給定以下配置:

<appender name="FILE-PROFILE" class="ch.qos.logback.core.FileAppender"> 
    <file>logs/profile.txt</file> 
    <encoder> 
     <pattern>%d{YYYY-MM-dd/HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
    </encoder> 
</appender> 

logs/profile.txt位於哪裏?

正如你所看到的,上面的問題是非常具體的問題,而這篇文章的標題就是提出一個普遍的問題。造成這種情況的原因是,如果我知道有關Glassfish應用程序日誌記錄的常見模式,我可能不會問這些具體問題。所以,我的最終問題是,您有關Glassfish應用程序日誌記錄的經驗,您的方法是什麼?特別是,您如何處理Glassfish本身(java.util.logging),您的應用程序和您的應用程序依賴項使用不同的日誌記錄框架?我喜歡logback,但我不知道Glassfish應用程序是否使用java.util.logging是一種規範。

非常感謝。

+0

請注意,您的Web應用程序無法直接訪問文件系統,仍然符合Java EE標準。因此,您不能使用logback並登錄到文件。 –

回答

1

Q1:兩個logback.xml如何被logback使用?

答:默認情況下,挑選的logback從classpath「logback.xml」文件,所以我相信你都logback.xml將在不同的位置,這樣你不會得到任何問題。只要確保slf4j logback的logback.xml應該位於應用程序類路徑下。

或者

如果你願意,你可以把SLF4J的logback的logback.xml文件中的一些config目錄下,並覆蓋的logback的默認配置。請查詢here瞭解更多詳情。

Q2:其中是logs/profile.txt的位置?

我從來沒有用過glassfish服務器,但我在tomcat上試過同樣的事情,我總是在tomcat目錄下找到我的日誌,所以我相信你的日誌也會在$ glassfish/logs/profile.txt下創建。

答3:是的,你可以使用SLF4J的logback在你的應用程序,因爲它提供了許多比「java.util.logging中的」更多的功能,並在將來你可以只需添加一個記錄日誌下的所有日誌的GlassFish依賴瓶。

相關問題