有关Glassfish应用程序日志记录的常见模式有哪些?

时间:2013-12-08 01:44:44

标签: java logging glassfish logback

我正在构建一个简单的REST服务应用程序,它将部署到Glassfish。我目前正在使用logback使用logback.xml的应用程序,并且一个依赖项工件也使用logback并拥有自己的logback.xml。那么,我所遇到的一个问题(Glassfish不一定与logback.xml如何使用这两个logback?是仅使用了应用程序还是使用了依赖项?

我遇到的另一个与Glassfish相关的问题是,无论怎样,来自应用程序的日志是否会合并到glassfish/domains/<domain-dir(mine is domain1)>/logs/server.log?我在应用程序FileAppender中有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是否正常。

非常感谢你。

1 个答案:

答案 0 :(得分:1)

Q1:logback如何利用这两个logback.xml?

Ans:默认情况下,logback从类路径中选择“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日志只需添加一个依赖jar。