0

我正在尝试使每个部署的日志记录工作。我有包含内容的战争logging.properties档案WEB-INF/

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
}
4

1 回答 1

0

看起来文档中有错误。该logging.properties文件应该在WEB-INF/classes目录中。

此外,该logging.properties文件的格式需要与 JUL 文件稍有不同logging.properties

例子:

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

还要注意的一件事是每次部署日志不会从子系统继承任何配置。您需要在部署中完全配置日志记录。

于 2015-11-30T19:20:53.437 回答