无法配置Jetty和log4j

时间:2014-09-06 18:59:05

标签: java logging log4j jetty apache-commons-logging

最近我继承了一个项目并且很难配置日志,因为我似乎根本无法配置它!

所以,让我先给你一个背景信息:

  1. 它在Jetty 9.2下运行
  2. 它使用Apache Commons日志库
  3. 它对log4j有一个Maven依赖,我假设apache commons会选择它并使用它。
  4. 没有现有的commons-logging.properties或log4j.properties,所以我认为它会回退到默认值。
  5. 也没有jetty-logging.properties。
  6. 所以这是我的问题,它目前没有记录时间戳,输出是这样的:

    5027 [main] INFO  org.springframework.web.servlet.handler.SimpleUrlHandlerMapping  - Mapped URL path [/css/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
    

    912562 [qtp760972690-15] DEBUG com.xxx.xx.Class  - Some Action Log Msg
    

    不知道DEBUG之前的那些字段是什么。我以前曾经使用过Tomcat,sl4j,并且非常确定Apache Commons也可以登录。

    所以我想我会配置文件&commons-logging.properties'和' log4j.properties'在WAR文件WEB-INF / classes。

    现在它识别并选择' commons-logging.properties'但是' log4j.properities'似乎没有任何影响。

    所以我在这里错过了一步,我忘记了什么吗?这是Jetty问题,因为它使用的是sl4j而我不是吗?

    这是m commons-logging.properties:

    org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
    log4j.configuration=log4j.properties
    

    这是我的log4j.properties:

    # Set root logger level to DEBUG.
    log4j.rootLogger=DEBUG,stdout
    
    # stdout is set to be a ConsoleAppender.
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    
    # stdout uses PatternLayout.
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
    

    另一个注意事项是Jetty本身的日志行确实有我想要的日期戳:

    2014-09-06 19:36:19.356:INFO:/:main: Initializing Spring FrameworkServlet 'appServlet'
    

    但不是我的主要应用程序记录。

0 个答案:

没有答案