2017-07-16 61 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的其他所有東西。