0

我有一个 Restlet 网络服务,我想在发出请求时删除 Restlet 创建的日志中的调试语句。目前我正在使用此代码通过执行以下操作将 Restlet 日志重定向到我的日志文件而不是控制台输出:

Slf4jLoggerFacade loggerFacade = new Slf4jLoggerFacade();
Engine.getInstance().setLoggerFacade(loggerFacade);

在我的 log4j.properties 文件中,我有这个:

log4j.rootLogger=WARNING, LOGFILE

我的问题是它仍然在日志中显示调试条目,说它收到了请求。由于所有的调试语句,这会导致日志文件成为一个巨大的文件大小。

我也试过这个来删除调试语句,但它没有用:

Engine.setLogLevel(Level.WARNING);

以及尝试过这个:

Engine.setRestletLogLevel(Level.WARNING);

为什么我的 log4j.properties 文件不起作用?

这是我要删除的日志中的一些调试条目:

11 月 29 日 00:00:01 调试 org.restlet 日志主机:ip:8182
11 月 29 日 00:00:01 调试 org.restlet 日志连接:保持活动状态
11 月 29 日 00:00:01 调试 t.SpringComponent.ServerRouter 正常 默认虚拟主机选择
11 月 29 日 00:00:01 调试 t.SpringComponent.ServerRouter 精细基础 URI:“http://ip:8182”。剩余部分:“/getFoo?foo=Foo%2Ffoo&fileName=foo.bin”

4

2 回答 2

2

您能否准确描述上下文的一些元素:应用程序是否在 servlet 容器内运行?您使用的是哪种服务器连接器?由于我看不清楚日志中放置了什么样的调试跟踪,您能否提供一个示例?你还在使用 Restlet-2.0 吗?

最好的问候,蒂埃里·布瓦洛

于 2012-11-29T08:36:38.500 回答
1

解决了!这不是 Restlet 问题,而是对 log4j 不够了解。我将 log4j 级别设置为 WARNING 而不是 WARN。这是我在 log4j 中的设置,它解决了我的问题。:)

log4j.rootLogger=ERROR, LOGFILE
log4j.logger.org.restlet=WARN
log4j.logger.org.springframework=WARN
于 2012-11-29T14:14:21.813 回答