2017-07-16 60 views
-1

我试图在泽西运行Tomcat中启用HTTP请求/响应日志记录。我的应用程序是基于web.xml的,并且没有ResourceConfig类上的应用程序。Jersey 2.23:无法从web.xml启用LoggingFeature

这就是我试图从我的web.xml使LoggingFeature:

<init-param> 
     <param-name>jersey.config.server.provider.classnames</param-name> 
     <param-value>org.glassfish.jersey.logging.LoggingFeature</param-value> 
    </init-param> 

<init-param> 
    <param-name>org.glassfish.jersey.logging.LoggingFeature.LOGGING_FEATURE_LOGGER_LEVEL</param-name> 
    <param-value>java.util.logging.Level.FINEST</param-value> 
</init-param> 

<init-param> 
    <param-name>org.glassfish.jersey.logging.LoggingFeature.LOGGING_FEATURE_LOGGER_NAME</param-name> 
    <param-value>MyLoggerName</param-value> 
</init-param> 

,但我没有看到任何新泽西日志中catalina.out中或localhost_access.log

回答

-1

这是怎么了我把它在Tomcat运行在Eclipse中运行:

  1. 找出路到tomcat运行在Eclipse:Where can I view Tomcat log files in Eclipse?

  2. 在那里创建一个logging.properties文件。在我的情况下,道路是.../EclipseWorkSpace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/conf (您可以从您的实际tomcat的conf文件夹中复制此记录文件。)

  3. 在您的应用程序,在src/main/resources创建logging.properties文件。

为servlet-例子的Web应用程序 例logging.properties被放置在WEB-INF /类网络内: (当i在WEB-INF/classes直接创建为Tomcat文档中提到的没有工作应用: 从https://tomcat.apache.org/tomcat-9.0-doc/logging.html

  • 设置你的Tomcat在上述文件记录参数,其中覆盖默认从/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/conflogging.properties文件从你的应用程序中:

    handlers= java.util.logging.ConsoleHandler 
    
    .level= FINE 
    
    java.util.logging.ConsoleHandler.level = FINE 
    java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter 
    
  • 这将记录从Tomcat '精' 级别的日志。

    在你的球衣应用
  • 设置日志属性:

    register(new LoggingFeature(Logger.getLogger(MyApplication.class.getName()), Level.INFO, LoggingFeature.Verbosity.PAYLOAD_TEXT, 2048)); 
    
  • OR

    <init-param> 
         <param-name>jersey.config.server.provider.classnames</param-name> 
         <param-value>org.glassfish.jersey.logging.LoggingFeature</param-value> 
        </init-param> 
    

    这只会从球衣登录 'INFO' 的日志。因此,4和5实际上意味着Tomcat会记录所有FINE日志,但Jersey只会记录INFO日志,因此在日志文件(catalina.out)中,只能看到来自Jersey的INFO日志,但FINE日志来自Tomcat的其他所有东西。