有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Wildfly 9.0.1最终和部署日志

我正在努力使每个部署的日志记录工作。我在WEB-INF/中有logging.properties的战争档案,内容如下:

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
}

共 (1) 个答案

  1. # 1 楼答案

    看起来文档中有错误。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
    

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