我正在努力使每个部署的日志记录工作。我在logging.properties
中有WEB-INF/
的war存档,内容为:
ru.home.level=FINEST
在servlet中我做了:
protected Logger log = Logger.getLogger("ru.home.Something");
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
log.log(Level.FINEST, "Hello");
resp.getWriter().write("<b>tralalala</b>");
log.log(Level.FINEST, "Bye");
}
根据WildFly日志记录配置文档,它应该在适当的位置扫描并查找我的属性文件。但似乎它根本没有扫描。我究竟做错了什么? (https://docs.jboss.org/author/display/WFLY9/Logging+Configuration#LoggingConfiguration-PerdeploymentLogging) 也:
/subsystem=logging:read-attribute(name=use-deployment-logging-config)
返回:
{
"outcome" => "success",
"result" => true
}
答案 0 :(得分:0)
看起来文档中存在错误。 WEB-INF/classes
文件应位于logging.properties
目录中。
此外,logging.properties
文件的格式必须与JUL loggers=ru.home
logger.level=INFO
logger.handlers=FILE
logger.ru.home.level=FINEST
handler.FILE=org.jboss.logmanager.handlers.SizeRotatingFileHandler
handler.FILE.level=ALL
handler.FILE.formatter=PATTERN
handler.FILE.properties=append,autoFlush,enabled,maxBackupIndex,rotateOnBoot,rotateSize,fileName
handler.FILE.append=true
handler.FILE.autoFlush=true
handler.FILE.enabled=true
handler.FILE.maxBackupIndex=10
handler.FILE.rotateOnBoot=false
handler.FILE.rotateSize=52428800
handler.FILE.fileName=${jboss.server.log.dir}/myapp.log
formatter.PATTERN=org.jboss.logmanager.formatters.PatternFormatter
formatter.PATTERN.properties=pattern
formatter.PATTERN.pattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} %-5p [%c] (%t) %s%e%n
文件略有不同。
示例:
{{1}}
还有一点需要注意的是,每个部署的日志记录不会从子系统继承任何配置。您需要在部署中完全配置日志记录。