我有一个Restlet webservice,我想删除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 DEBUG org.restlet日志主持人:ip:8182
11月29日00:00:01 DEBUG org.restlet日志连接:keep-alive
11月29日00:00:01 DEBUG t.SpringComponent.ServerRouter fine选择了默认虚拟主机
11月29日00:00:01 DEBUG t.SpringComponent.ServerRouter fine基本URI:“http:// ip:8182”。剩下的部分:“/ getFoo?foo = Foo%2Ffoo& fileName = foo.bin”
答案 0 :(得分:2)
你能不能确定上下文的一些元素:应用程序是在servlet容器中运行的吗?你使用什么样的服务器连接器? 由于我没有清楚地看到日志中放置了什么样的调试跟踪,您可以提供样本吗? 你还在使用Restlet-2.0吗?
祝你好运, 蒂埃里博伊洛
答案 1 :(得分:1)
解决了!这不是一个Restlet问题,更多的是不太了解log4j。我将log4j级别设置为WARNING而不是WARN。这是我在log4j中的设置解决了我的问题。 :)
log4j.rootLogger=ERROR, LOGFILE
log4j.logger.org.restlet=WARN
log4j.logger.org.springframework=WARN