Dal*_*and 13
在Service子类(例如HelloWorldService)中,在run方法中添加:
environment.setJerseyProperty(ResourceConfig.PROPERTY_CONTAINER_REQUEST_FILTERS, LoggingFilter.class.getName());
environment.setJerseyProperty(ResourceConfig.PROPERTY_CONTAINER_RESPONSE_FILTERS, LoggingFilter.class.getName());
Run Code Online (Sandbox Code Playgroud)
然后确保com.sun.jersey.api.container.filter.LoggingFilter(或任何父包)至少在日志级别INFO配置,例如:
logging:
loggers:
"com.sun.jersey.api.container.filter.LoggingFilter": INFO
Run Code Online (Sandbox Code Playgroud)
joa*_*ura 10
在dropwizard 0.8.1(也在0.9.0-SNAPSHOT中试过)中,添加到Application.run(...):
import java.util.logging.Logger;
import org.glassfish.jersey.filter.LoggingFilter;
...
public void run(MyApplicationConfiguration conf, Environment env) throws Exception {
// do your stuff and then add LoggingFilter
env.jersey().register(new LoggingFilter(
Logger.getLogger(LoggingFilter.class.getName()),
true)
);
}
Run Code Online (Sandbox Code Playgroud)
要配置记录器,请添加配置文件(例如:) conf.yml:
logging:
loggers:
org.glassfish.jersey.filter.LoggingFilter: INFO
Run Code Online (Sandbox Code Playgroud)
答案有点过时,这是在新版本中需要完成的:
env.jersey().register(new LoggingFeature(logger, LoggingFeature.Verbosity.PAYLOAD_ANY));
Run Code Online (Sandbox Code Playgroud)
哪里logger是java.util.logging.Logger
在dropwizard 0.7.0中,启用请求和响应日志记录的正确语法是:
environment.jersey().property(ResourceConfig.PROPERTY_CONTAINER_REQUEST_FILTERS, LoggingFilter.class.getName());
environment.jersey().property(ResourceConfig.PROPERTY_CONTAINER_RESPONSE_FILTERS, LoggingFilter.class.getName());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7270 次 |
| 最近记录: |