Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging Restlet:如何抑制服务器请求日志消息_Logging_Restlet - Fatal编程技术网

Logging Restlet:如何抑制服务器请求日志消息

Logging Restlet:如何抑制服务器请求日志消息,logging,restlet,Logging,Restlet,我已经使用Restlet 2.1.2创建了一个简单的REST服务器,它工作得非常好。每个POST或GET请求都会导致Restlet发出以下形式的日志消息: 2013-05-02 19:44:39 127.0.0.1 - - 8081 POST /rest/dispatch - 200 - - 21 http://127.0.0.1:8081Restlet-Framework/2.1.2 - 有很多请求,应用程序收集这些消息并不重要。问题:

我已经使用Restlet 2.1.2创建了一个简单的REST服务器,它工作得非常好。每个POST或GET请求都会导致Restlet发出以下形式的日志消息:

2013-05-02  19:44:39    127.0.0.1   -   -   8081    POST    /rest/dispatch  -   200 -   -   21  http://127.0.0.1:8081Restlet-Framework/2.1.2    -
有很多请求,应用程序收集这些消息并不重要。问题:

  • 该消息是从哪个类发出的?我试图通过grep浏览Restlet源代码来找到它,但没有成功
  • 这些消息正在发送到stdout。如何将它们直接写入文件
  • 如何配置它,以便仅当响应状态不是200时才生成此类消息
非常感谢您提供的任何信息

PS:我发现了一些似乎相关的链接,尽管我还没有弄清楚到底需要做什么。我将把这些留在这里以备将来参考


只需创建并设置一个NullLogService,说明所有请求都不可记录:

public class NullLogService extends LogService 
{
    @Override
    public boolean isLoggable(Request request) {
        return false;
    }
}
然后将其设置为日志服务:

public static void main(String[] args) throws Exception {  
    Component component = new Component();
    component.getServers().add(Protocol.HTTP, 8082);

    Application application = new RestletTestResource();  

    component.getDefaultHost().attach(application);  
    component.setLogService(new NullLogService());
    component.start();    
}

万分感谢!关于只记录HTTP返回代码不是200的响应,我想我可以从
isLoggable
的参数中提取出来,这似乎是一种不错的方法