Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 每次部署日志记录能否与Jboss EAP 6.4的日志记录子系统一起工作?_Logging_Jboss_Wildfly_Redhat_Jboss Eap 6 - Fatal编程技术网

Logging 每次部署日志记录能否与Jboss EAP 6.4的日志记录子系统一起工作?

Logging 每次部署日志记录能否与Jboss EAP 6.4的日志记录子系统一起工作?,logging,jboss,wildfly,redhat,jboss-eap-6,Logging,Jboss,Wildfly,Redhat,Jboss Eap 6,我在一个独立的jboss服务器上运行了多个WAR。我在standalone.xml中配置了日志子系统。我提到 为其中一个应用程序创建特定的日志处理程序 我在应用程序war的META-INF文件夹下创建了logging.properties文件,其中包含以下内容 loggers=com.company logger.com.company.level=TRACE logger.com.company.useParentHandlers=true logger.com.company.handle

我在一个独立的jboss服务器上运行了多个WAR。我在standalone.xml中配置了日志子系统。我提到 为其中一个应用程序创建特定的日志处理程序

我在应用程序war的META-INF文件夹下创建了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
。可能有一个bug,它无法在
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

@詹姆斯·帕金斯,谢谢你的回复。我试过你的建议。我将文件移到了/classes下,现在它正在被拾取。我看到“14:10:22075调试[org.jboss.as.logging](MSC服务线程1-2)找到了日志配置文件:“/C:/Java/jboss/bin/。。。。“在控制台上。但是,日志记录仍无法按预期工作。现在,com.company中的任何内容都不会被记录到任何地方。如果删除属性文件,它将在console和server.log上显示信息消息。我还注意到,在loggers=xx.xx.xx.中生成的logging.properties中没有出现com.company。。行。我忘了提到应用程序使用的是slf4j,而不是jboss Logger。这很好。发布的
logging.properties
应该正常工作。你的伐木工人是如何定义的?您是否执行类似“LoggerFactory.getLogger”(“com.company”)?包com.company.app.interceptor;导入org.slf4j.Logger;导入org.slf4j.LoggerFactory;公共类…私有静态最终记录器Logger=LoggerFactory.getLogger(AppIntreceptor.class);public boolean preHandle(…){logger.debug(“请求指向”+request.getParameter(“程序”));}我发现,即使我在classes文件夹下放置了一个空的logging.properties文件,日志记录也会停止该特定应用程序的工作