restlet2.1如何将日志记录更改为log4j

restlet2.1如何将日志记录更改为log4j,log4j,restlet,java.util.logging,restlet-2.0,Log4j,Restlet,Java.util.logging,Restlet 2.0,我有一个restletwebservice,我想删除Restlet在发出请求时创建的日志中的调试语句。目前,我正在使用以下代码将Restlet日志重定向到我的日志文件,而不是控制台输出: Slf4jLoggerFacade loggerFacade = new Slf4jLoggerFacade(); Engine.getInstance().setLoggerFacade(loggerFacade); 在我的log4j.properties文件中,我有以下内容: log4j.rootLogg

我有一个restletwebservice,我想删除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”

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

致以最良好的祝愿,
Thierry Boileau

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

致以最良好的祝愿,
蒂埃里·博伊洛解决了这个问题!这不是Restlet问题,更像是对log4j了解不够。我将log4j级别设置为WARNING而不是WARN。以下是解决我的问题的log4j中的设置:


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


这似乎是《Restlet in Action》的作者之一和合著者@user1301115您应该将您的姓名添加到您的个人资料中。:-)@user1301115 web服务不是在servlet容器中运行的。它是独立的。我正在使用默认的服务器连接器。我使用的是Restlet 2.1 JSE。谢谢你的帮助。:)这似乎是《Restlet in Action》的作者之一和合著者@user1301115您应该将您的姓名添加到您的个人资料中。:-)@user1301115 web服务不是在servlet容器中运行的。它是独立的。我正在使用默认的服务器连接器。我使用的是Restlet 2.1 JSE。谢谢你的帮助。:)
log4j.rootLogger=ERROR, LOGFILE
log4j.logger.org.restlet=WARN
log4j.logger.org.springframework=WARN