gpt4 book ai didi

java - 测试期间记录详细,但发布的应用程序中记录简洁

转载 作者:行者123 更新时间:2023-12-02 06:58:48 25 4
gpt4 key购买 nike

我正在制作一个基于 Maven 的 java 库,其使用的日志记录是这样的:

    import java.util.logging.Logger;
private static final Logger LOG
= Logger.getLogger(MyLibraryClass.class.getName())

我在这个库中编写了很多日志,这对于调试库的流程非常有用,特别是在 JUnit 测试期间,但是我创建的这个应用程序,我不希望它向客户端应用程序显示日志(将使用该库的应用程序)。因为它太冗长了。

如何控制哪些内容登录到客户端应用程序的日志 View 中。库中的诸如 INFO level 之类的日志不一定会显示在客户端/示例应用程序中?

这是我的最终目标:

  • 在运行单元测试时拥有尽可能详细的日志图书馆项目
  • 但不会向客户端应用程序显示这些“详细”日志,而不需要客户端应用程序刻意配置/抑制来自库的日志

Client library - is the project that is used by a Java application; which is the project I am working on. Which generates logs that should not be displayed in the client application.

Client application - is the project/application that uses the Javalibrary

最佳答案

客户端应用程序需要自己的测试。我不明白为什么如果客户端应用程序出现问题,客户端库就不应该被释放(只是一个死胡同)。

我看到两个 Maven 项目。

  • 库(带有库测试)
  • 依赖于库的客户端应用程序(带有客户端应用程序测试)

所以你在库中有一个 noop-config-file

/src/test/java/resources/logging.properties 

在客户端应用程序中,有一个 noop-config 文件

/src/main/java/resources/logging.properties

这样的 noop-config 看起来像这样:

handlers= java.util.logging.ConsoleHandler
level= SEVERE

关于java - 测试期间记录详细,但发布的应用程序中记录简洁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16954282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com