当前位置: 首页 > 面试题库 >

Java记录API,禁用记录到标准输出

贝财
2023-03-14
问题内容

构造之后,使用标准的Java日志记录API(导入java.util.logging.Logger):

Logger l = Logger.getLogger("mylogger");

我已经可以登录了。由于它没有FileHandler,因此不会向磁盘写入任何内容。

l.severe("test with no handler");

它写入(不是全部)日志消息以输出。如何禁用此功能?在此先感谢Agostino


问题答案:

如果您不知道Java
util日志记录的默认配置,就会出现问题。体系结构事实:0)每个记录器(无论其名称是什么)都将根记录器作为父级。默认事实:1)记录器属性useParentHandlers默认为true
2)根记录器默认具有ConsoleHandler

所以。默认情况下,新记录器还将其日志记录也发送到其父记录(点1),该父记录是根记录器(点0),默认情况下,会将它们记录到控制台(点2)。

删除控制台日志很容易,因为:

Logger l0 = Logger.getLogger("");
l0.removeHandler(l0.getHandlers()[0]);


 类似资料:
  • 问题内容: 我不知道如何将信息级别的消息记录到stdout,但将其他所有内容记录到stderr。我已经阅读了http://docs.python.org/library/logging.html。有什么建议吗? 问题答案: 以下脚本: 运行时,产生以下结果。 正如你所期望的,因为在终端上,并是相同的。现在,让我们将标准输出重定向到文件: 因此,INFO消息没有被打印到终端-但指示消息 已 被打印。

  • 问题内容: Go语言中有没有办法记录到不同级别的多个输出? 我希望有一个程序可以同时在Info级别记录到stdout并在带有时间戳的调试级别记录一个文件。 就像我每次编写代码一样: 我可以看到控制台打印: 和一个文件: 我使用logrus和glog,但是找不到此功能。还有其他包装或我可以编码的东西吗? 问题答案: Go-logging支持不同的日志记录后端,例如文件,syslog等。可以设置多个后

  • 使用REST,我们可以使用Swagger、RAML或其他技术来记录我们的API,并生成一个HTML文档,我们的消费者可以阅读该文档,而无需与服务器进行任何交互。 GraphQL是否存在类似的情况?是否有任何方法生成资源和属性的文档?

  • 这也许是一个很简单的问题。如何禁用Hikari-CP调试日志?在我的日志文件我有很多这样的消息 在我的日志4jconfig中。xml: 有人能告诉我记录器配置有什么问题吗? 谢谢!

  • 使用Spring Boot1.4和Logback,我在中配置日志记录: 请注意,第二种配置的建议直接来自Spring Cloud Service Registration and Discovery文档。它在信息和其他“正常”级别上工作得很好。但是,日志还显示(由我重新格式化):

  • 问题内容: 如何禁用Python中的标准错误流日志记录?这不起作用: 问题答案: 我找到了一个解决方案: 这将防止日志记录发送到包括控制台日志记录的上层记录器。