我正在构建一个简单的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
是否正常。
非常感谢你。
答案 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。