Java 如何阻止外部库的消息污染应用程序输出?

Java 如何阻止外部库的消息污染应用程序输出?,java,jar,protocol-buffers,protobuf-java,external-library,Java,Jar,Protocol Buffers,Protobuf Java,External Library,我用Java编写了一个控制台应用程序,它使用Google协议缓冲区进行序列化。 但是,当使用该代码时,在库加载期间,它会输出一些关于非法反射访问操作的警告 好了,这只是谷歌的一些小麻烦,并没有真正影响到任何东西,所以我希望我的应用程序不要将垃圾倾倒到输出中。 同时,我显然希望我的应用程序能正常输出自己的东西 一个人通常是如何处理这样的事情的? 处理这种具体情况的好方法是什么?最好的方法是添加一个记录器,而不是使用标准控制台输出。您可以阅读有关slf4j的信息。与标准输出相比,它有许多优点。您可以

我用Java编写了一个控制台应用程序,它使用Google协议缓冲区进行序列化。 但是,当使用该代码时,在库加载期间,它会输出一些关于非法反射访问操作的警告

好了,这只是谷歌的一些小麻烦,并没有真正影响到任何东西,所以我希望我的应用程序不要将垃圾倾倒到输出中。 同时,我显然希望我的应用程序能正常输出自己的东西

一个人通常是如何处理这样的事情的?
处理这种具体情况的好方法是什么?

最好的方法是添加一个记录器,而不是使用标准控制台输出。您可以阅读有关slf4j的信息。与标准输出相比,它有许多优点。您可以查看不同级别的日志-信息、调试、警告、错误等,因此您可以限制读取的信息量。您还可以将以前的输出保存在文件中,还可以配置不同的appender,以便不同的类将其输出写入不同的文件中


基本上,这是大多数java应用程序的首选方式,因此所有输出都必须通过日志库,而我不希望任何东西渗透进来,这是有原因的。是的,听起来可行。