首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Netbeans关闭玻璃鱼日志(tyrus/grizzly)

Netbeans关闭玻璃鱼日志(tyrus/grizzly)
EN

Stack Overflow用户
提问于 2013-11-01 11:07:20
回答 1查看 593关注 0票数 0

如何关闭控制台输出中的日志记录?我不想看到我的Java程序的输出:

代码语言:javascript
复制
Nov 01, 2013 12:01:29 PM org.glassfish.tyrus.server.ServerContainerFactory create
INFO: Provider class loaded: org.glassfish.tyrus.container.grizzly.GrizzlyEngine
Nov 01, 2013 12:01:29 PM org.glassfish.grizzly.http.server.NetworkListener start
INFO: Started listener bound to [0.0.0.0:8029]
Nov 01, 2013 12:01:29 PM org.glassfish.grizzly.http.server.HttpServer start
INFO: [HttpServer] Started.
Nov 01, 2013 12:01:29 PM org.glassfish.tyrus.server.Server start
INFO: WebSocket Registered apps: URLs all start with ws://localhost:8029
Nov 01, 2013 12:01:29 PM org.glassfish.tyrus.server.Server start
INFO: WebSocket server started.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-20 15:49:01

我感到惊讶的是,Java没有这种功能(或者我找不到它,这在今天是一样的).

System.outSystem.err分配给不写入任何内容的流(以便日志)。在.NET中有一个Stream.Null,它是一个没有后备存储的流,即空流或空流。

在Java中,这样的Stream很容易通过扩展java.io.OutputStream来构建。

代码语言:javascript
复制
class VoidStream extends OutputStream {
    @Override
    public void write(int b) throws IOException {
        // 
        // --------------
        // | void space |
        // --------------
        // 
    }       
}

现在,使用VoidStreamSystem.Err()System.outSystem.err设置为空控制台,

代码语言:javascript
复制
PrintStream ps = new PrintStream(new VoidStream());
System.setOut(ps);
System.setErr(ps);

理论上,一个警告是System.console(),因为不能设置它的输出流,但是可以调用作为printf()format()的函数。幸运的是,只有当程序在终端(否则,它将返回空。)中运行并且谁还在使用终端时,才能使用该程序?;-)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19725566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档