首页 > 编程知识 正文

logback和log4j哪个好(logback关闭日志)

时间:2023-05-04 11:51:23 阅读:103736 作者:4

目的

解决线上偶尔需要修改日志级别 定位问题的需要.

进口。com。阿里巴巴。杜博。常见。utils。收集实用程序;

导入com。携程。框架。阿波罗。配置;

导入com。携程。框架。阿波罗。模特。configchangevent

进口。com。携程。框架。阿波罗。春天。注释。阿波罗配置;

导入com。携程。框架。阿波罗。春天。注释。apolloconfigchangelistent

导入组织。阿帕奇。公地。郎3。stringutils

导入组织。slf4j。伐木工人;

导入组织。slf4j。伐木工人工厂;

导入组织。弹簧框架。靴子。日志记录。LogLevel

导入组织。弹簧框架。靴子。日志记录。测井系统;

导入组织。弹簧框架。语境。注释。配置;

导入javax。注释。后期构建;

导入javax。注释。资源;

导入Java。乌提尔。设置;

/**

* 动态修改线上日志的实现。

* p

* 在阿波罗上配置日志级别即可立即生效

*例如:日志记录。水平。com。fxy。启动器。猫。我的蜡染。plugin=DEBUG

*

* @作者凤凰神经

* @自2021-01-05 14:56

*/

@配置

公共类DebugConfig {

私有静态最终记录器=记录器工厂。getlogger(debugconfig。类);

私有静态最终字符串LOGGER _ TAG=' logging.level

@ApolloConfig

私有配置配置;

@资源

私有日志系统日志系统;

/**

* 发生变更时

*

* @param changeEvent

*/

@ApolloConfigChangeListener

私有void OnChange(configChangeEvent ChangeEvent){ 0

用于(字符串键: changevent。changedkeys()){ 0

if(键。启动开关(LOGGER _ TAG)){ 0

字符串NewLevel=ChangeEvent。GetChange(键)。get new value();

字符串LogNAmE=键。替换(LOGGER _ TAG ' ');

setLogLevel(logName,NewLevel);

}

}

}

/**

* 系统第一次启动的时候

*/

@PostConstruct

public void setLogLevel(){ 0

logger.info('正在初始化日志配置');

setString name=config。GetPropertyNames();

if(收集实用程序。不是空的(名称)){ 0

names.stream().过滤器(x - x.startsWith(LOGGER_TAG)).forEach(键-{ 0

字符串LogLevel=config。GetProperty(键' ');

字符串LogNAmE=键。替换(LOGGER _ TAG ' ');

setLogLevel(logName,LogLevel);

});

}

printapoloconfig();

}

私有void setLogLevel(字符串日志名,字符串日志级别){ 0

if(stringutils。ISblank(LogName)| | stringutils。ISblank(LogLevel)){ 0

返回;

}

日志级别级别=日志级别。(LogLevel)的值。ToupPerCase());

if(stringutils。isnotblank(日志名称)级别!=null){ 0

记录系统。setloglevel(logName,level);

logger.info('日志级别设置: logName={} logLevel={},',logName,LogLevel);

} else {

logger.warn('日志级别设置错误logName={} logLevel={} ',logName,LogLevel);

}

}

/**

* 打印一下阿波罗里的配置

*/

private void printapoloconfig(){ 0

logger.info('当前阿波罗里的配置:');

setString name=config。GetPropertyNames();

if(收集实用程序。不是空的(名称)){ 0

names.stream().forEach(键-{ 0

logger.info('{}={} ',key,config.getProperty(key,');

});

}

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。