自学内容网 自学内容网

Java 关闭HttpClients 的debug日志

编程方式调整日志级别

在某些情况下,你可能希望在运行时以编程方式调整日志级别。这取决于你使用的日志框架,但大多数框架都提供了API来允许你这样做。

注意事项

  • 确保你了解HttpClient库可能生成哪些类型的日志。通常,除了常见的应用程序日志之外,HttpClient还可能有与HTTP消息头和请求/响应内容相关的特殊日志。

  • 如果你在应用程序中使用了多个库,并且它们都使用相同的日志框架,确保你的配置不会意外地影响其他库的日志输出。

  • 在生产环境中,通常建议将日志级别设置为`WARN`或更高,以减少不必要的日志输出和潜在的性能开销。

以下是java实现关闭debug日志的方法:

1、创建一个日志类

import ch.qos.logback.classic.Level;

import ch.qos.logback.classic.Logger;

import ch.qos.logback.classic.LoggerContext;

import ch.qos.logback.classic.spi.TurboFilterList;

import ch.qos.logback.classic.turbo.TurboFilter;

import ch.qos.logback.core.spi.FilterReply;

import org.slf4j.LoggerFactory;

import org.slf4j.Marker;

public class LogDebugReject {

    public static void debugReject() {

        LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();

        TurboFilterList turboFilterList = loggerContext.getTurboFilterList();

        TurboFilter turboFilter = new TurboFilter() {

            @Override

            public FilterReply decide(Marker marker, Logger logger, Level level, String s, Object[] objects, Throwable throwable) {

                if (level.levelStr.equalsIgnoreCase("debug")) {

                    return FilterReply.DENY;

                }

                return FilterReply.ACCEPT;

            }

        };

        turboFilterList.add(turboFilter);

    }

}

2、在主方法中引用

public static void main(String[] args) {

    LogDebugReject.debugReject();

}


原文地址:https://blog.csdn.net/weixin_58494422/article/details/140447277

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!