Per-deployment Logging 能否与 Jboss EAP 6.4 的 Logging 子系统一起工作?

Can Per-deployment Logging work together with Logging sub system for Jboss EAP 6.4?

我在独立的 jboss 服务器上有多个 war 运行。我在 standalone.xml 中配置了日志子系统。我提到 this redhat link on Add Per-deployment Logging to an Application 创建一个特定于其中一个应用程序的日志处理程序。

我在 META-INF 文件夹下的应用 war 中创建了 logging.properties 文件,内容如下

loggers=com.company

logger.com.company.level=TRACE
logger.com.company.useParentHandlers=true
logger.com.company.handlers=TESTFILE

# A handler configuration
handler.TESTFILE=org.jboss.logmanager.handlers.FileHandler
handler.TESTFILE.level=TRACE
handler.TESTFILE.formatter=PATTERN1
handler.TESTFILE.properties=append,autoFlush,enabled,suffix,fileName
handler.TESTFILE.constructorProperties=fileName,append
handler.TESTFILE.append=true
handler.TESTFILE.autoFlush=true
handler.TESTFILE.enabled=true
handler.TESTFILE.fileName=${jboss.server.log.dir}/app.log

# The formatter to use
formatter.PATTERN1=org.jboss.logmanager.formatters.PatternFormatter
formatter.PATTERN1.properties=pattern
formatter.PATTERN1.constructorProperties=pattern
formatter.PATTERN1.pattern=%d %-5p %c: %m%n

我部署了该应用程序,但除了 standalone.xml 日志子系统中配置的内容外,它没有执行任何操作。这个设置应该在 EAP 6.4 上工作吗?

是的,这应该适用于 JBoss EAP 6.4。您可能想尝试将 logging.properties 文件移动到 WAR/WEB-INF/classes。可能存在无法在 WAR/WEB-INF 目录中查找的错误。

如果这不起作用,您还可以打开 org.jboss.as.logging 的跟踪日志记录,这应该会显示在您的部署中找到的 logging.properties 文件。

以下 CLI 命令将启用跟踪日志记录以查看日志子系统正在执行的操作的详细信息。

/subsystem=logging/logger=org.jboss.as.logging:add(level=TRACE)

如果您想在控制台上看到这些日志消息,您需要为控制台工具启用跟踪日志记录。

/subsystem=logging/console-handler=CONSOLE:write-attribute(name=level, value=TRACE)

非常感谢@James R Perkins 的回答和评论

这是有效的最终配置

loggers=com.company.a,com.company.b.interceptor.app

logger.level=INFO
logger.handlers=APPLOG

logger.com.company.a.level=INFO
logger.com.company.a.useParentHandlers=false
logger.com.company.a.handlers=APPLOG

logger.com.company.b.interceptor.app.level=INFO
logger.com.company.b.interceptor.app.useParentHandlers=false
logger.com.company.b.interceptor.app.handlers=INTERCEPTLOG

# A handler configuration
handler.APPLOG=org.jboss.logmanager.handlers.PeriodicRotatingFileHandler
handler.APPLOG.level=INFO
handler.APPLOG.formatter=PATTERN
handler.APPLOG.properties=append,autoFlush,enabled,suffix,fileName
handler.APPLOG.constructorProperties=fileName,append
handler.APPLOG.append=true
handler.APPLOG.autoFlush=true
handler.APPLOG.enabled=true
handler.APPLOG.suffix=.yyyy-MM-dd
handler.APPLOG.fileName=${jboss.server.log.dir}/APPLOG.log

handler.INTERCEPTLOG=org.jboss.logmanager.handlers.PeriodicRotatingFileHandler
handler.INTERCEPTLOG.level=INFO
handler.INTERCEPTLOG.formatter=PATTERN
handler.INTERCEPTLOG.properties=append,autoFlush,enabled,suffix,fileName
handler.INTERCEPTLOG.constructorProperties=fileName,append
handler.INTERCEPTLOG.append=true
handler.INTERCEPTLOG.autoFlush=true
handler.INTERCEPTLOG.enabled=true
handler.INTERCEPTLOG.suffix=.yyyy-MM-dd
handler.INTERCEPTLOG.fileName=${jboss.server.log.dir}/INTERCEPTLOG.log

# The formatter to use
formatter.PATTERN=org.jboss.logmanager.formatters.PatternFormatter
formatter.PATTERN.properties=pattern
formatter.PATTERN.constructorProperties=pattern
formatter.PATTERN.pattern=%d %-5p %c: %m%n