更改日志级别_如何在运行时更改日志记录级别

更改日志级别

运行时中更改日志记录级别非常重要,这主要在生产环境中非常重要,在生产环境中,您可能希望在有限的时间内进行调试日志记录。

好了,更改记录器非常简单–假设您有一个具有所需记录级别的输入参数,只需获取根记录器并通过输入记录级别进行设置,例如:



Logger root = Logger.getRootLogger();//setting the logging level according to input
if ('FATAL'.equalsIgnoreCase(logLevel)) {root.setLevel(Level.FATAL);
}else if ('ERROR'.equalsIgnoreCase(logLevel)) {root.setLevel(Level.ERROR);
}

但是,常见的情况是我们按类维护日志实例 ,例如:

class SomeClass{//class level logger
static Logger logger - Logger.getLogger(SomeClass.class);
}

仅设置根记录器是不够的,因为类记录器不会受到影响。

诀窍是记住让所有记录器都进入系统并更改其记录级别。
例如:

Logger root = Logger.getRootLogger();
Enumeration allLoggers = root.getLoggerRepository().getCurrentCategories();//set logging level of root and all logging instances in the system
if ('FATAL'.equalsIgnoreCase(logLevel)) {root.setLevel(Level.FATAL);while (allLoggers.hasMoreElements()){Category tmpLogger = (Category) allLoggers.nextElement();tmpLogger .setLevel(Level.FATALLogging, Enterprise Java, Log4j);}
}else if ('ERROR'.equalsIgnoreCase(logLevel)) {root.setLevel(Level.ERROR);while (allLoggers.hasMoreElements()){Category tmpLogger = (Category) allLoggers.nextElement();tmpLogger .setLevel(Level.ERROR);}
}

因此,只需将其包装在服务类中,然后使用动态logLevel String参数从控制器中调用它即可,该参数代表您希望将系统设置为的日志记录级别。

如果您需要完整的解决方案,请告诉我。

基本方法是在此链接中 。

参考: 如何在我们的JCG合作伙伴 Gal Levinsky的博客 Blog 上更改运行时的日志记录级别 。


翻译自: https://www.javacodegeeks.com/2012/07/how-to-change-logging-level-in-runtime.html

更改日志级别

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353825.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JDBC和Ibatis中的Date,Time,Timestamp处理

JDBC和Ibatis中的Date,Time,Timestamp处理 November 25th, 2010西坪 Leave a commentGo to comments在此前,遇到过使用Ibatis操作Oracle时时间精度丢失的问题,昨天又遇到JDBC操作MySQL时间字段的问题,从网上看到各种式样的解释这些问题的博文…

每日算法之抽签

X星球要派出一个5人组成的观察团前往W星。其中:A国最多可以派出4人。B国最多可以派出2人。C国最多可以派出2人。....那么最终派往W星的观察团会有多少种国别的不同组合呢?下面的程序解决了这个问题。数组a[] 中既是每个国家可以派出的最多的名额。程序执…

如何开始Java机器学习

什么是开始使用Java机器学习的最佳工具? 他们已经存在了一段时间,但如今看来,每个人都在谈论人工智能和机器学习。 对于科学家和研究人员而言,它已不再是秘密,几乎可以在任何新兴技术中实现。 在下面的文章中&#x…

keil中关于使用_at_绝对地址定位问题

keil中关于使用_at_绝对地址定位问题 2008-01-07 13:46:26| 分类: MCU51 | 标签: |字号大中小 订阅 在网上看到有人提到在keil中使用_at_进行绝对地址定位问题,我简单介绍一下它的用法。 使用_at_关键字对存储器进行绝对地址定位程序…

ztree树

常规的ztree树 后台数据封装成list对象 public PageModel getTreeBuildingRegData(Map<String, String> params) {PageModel pageModelnew PageModel();String statusparams.get("status");String orgIdparams.get("org_id");List<OmsBuildingReg…

如何提高效率

如何提高效率 时间管理 April 28th, 2011 本文来自读者 桃雨 翻译投稿。 Aaron Swartz写过一篇很有名的文章&#xff0c;叫做《HOWTO: Be more productive》&#xff08;如何提高效率&#xff09;。这篇文章写的实在是太好了&#xff0c;我看了好多遍&#xff0c;很赞同作者的…

Andrew Ng - 深度学习工程师 - Part 2. 改善深层神经网络:超参数调试、正则化以及优化(Week 1. 机器学习的实用层面)...

第1周 机器学习的实用层面 1.1 训练/开发/测试 早期机器学习时代&#xff08;数据规模较小&#xff09;&#xff0c;如果不需要dev set&#xff0c;常见的划分有 70%/30% 的训练/测试 划分&#xff0c;如果需要验证集&#xff0c;常见的是 60%/20%/20%划分 在big data era&…

jms 如何测试_使用JMSTester对JMS层进行基准测试

jms 如何测试对于我去过的大多数客户端&#xff0c;使用ActiveMQ扩展JMS消息传递层是一个优先事项。 有多种方法可以实现这一目标&#xff0c;但毫无疑问&#xff0c;创建基准并分析实际硬件上的体系结构&#xff08;或者正如我的同事Gary Tully所说的“询问机器”&#xff09;…

为什么待办事项清单不管用

为什么待办事项清单不管用 时间管理 November 22nd, 2012 本文原文来自 Harvard Business Review&#xff0c;由 换装迷宫tayy 翻译。 停止制作你的待办事项清单吧。它们只会让你感觉失败和受挫。想想你正在管理的那些待办清单&#xff1a;有多少事项从年初起就已经在那儿了&…

charts 画饼图

统计某一天某类物体的百分比 新知识点&#xff1a;aggregate https://blog.csdn.net/congcong68/article/details/51619882 主要的 $group $match $sort $limit pipeline [{$group:{_id:$area,count:{$sum:1}}}, # count 是聚合之后新增的一个字段。{$sort:{count:1}}, # …

Apache Camel 2.18 –即将推出的功能的亮点

骆驼骑士正在忙于即将发布的Apache Camel 2.18版本。 当我们动态更新发行说明时 &#xff0c;这是一种快速查看即将发生的情况的方法。 我只是想在夏天在这里进行快速更新&#xff0c;到目前为止&#xff0c;我们已经完成了简短的重点介绍。 随着发行版的临近和文档的完善&…

实时多线程系统的日志实现

实时多线程系统的日志实现 2008-03-21 09:19 黄明/戴颖  软件世界 我要评论(0) 字号&#xff1a;T | T为了分析软件系统在测试和运行期产生的故障&#xff0c;目前大多数软件系统所广泛使用的一种方法就是日志记录。本文给出了利用循环缓冲区和单独的日志读写线程实现实时系统…

51NOD 1424 零树

Discription 有一棵以1为根的树&#xff0c;他有n个结点&#xff0c;用1到n编号。第i号点有一个值vi。 现在可以对树进行如下操作&#xff1a; 步骤1&#xff1a;在树中选一个连通块&#xff0c;这个连通块必须包含1这个结点。 步骤2&#xff1a;然后对这个连通块中所有结点的值…

nosql的数据服务_使用NoSQL实现实体服务–第1部分:概述

nosql的数据服务在过去的几周中&#xff0c;我一直在进行一些研发工作&#xff0c;以了解使用NoSQL数据库实现实体服务 &#xff08;也称为数据服务&#xff09;的优势。 实体服务是Thomas Erl的《服务技术》丛书中提出的服务分类。 它用于描述高度不可知和可重复使用的服务&am…

Java中获取当前函数名

Java中获取当前函数名 博客分类&#xff1a; Java JavathreadJDKIDEA 有时候我们需要在程序中获取当前运行的函数名&#xff0c;如何简单的做到这点呢&#xff1f;我们可以用getStackTrace轻松搞定。 一提到getStatckTrace多数人会联想到Thowable中的getStackTrace方法。的确&…

day19 复习,组合和继承

组合&#xff1a;当一个类的对象作为另一个类对象的属性就叫组合 表示的一种什么有什么的关系 面向对象的思想 不关心程序的执行过程 关心的事一个程序中的角色以及角色与角色的关系 python中一切皆对象 实例化的过程 创建一个对象 __init__给对象添加属性&#xff0c;对…

Spring Boot和数据库初始化

Spring Boot是一个很好的框架&#xff0c;可在开发Spring应用程序时为开发人员节省大量时间和精力。 它的主要功能之一是数据库初始化。 您可以使用spring boot来初始化您的sql数据库。 我们将从gradle文件开始 group com.gkatzioura version 1.0-SNAPSHOTapply plugin: java…

学习Java: Queue

15 08, 2007 学习Java: Queue Java — 作者 zybing 15:17Java提供了Quere&#xff0c;相当好用&#xff0c;在1.5版本中又有增强。Queue&#xff1a; 基本上&#xff0c;一个队列就是一个先入先出&#xff08;FIFO&#xff09;的数据结构 offer&#xff0c;add区别&#xff1…

建站手册-网站主机:电子商务主机

ylbtech-建站手册-网站主机&#xff1a;电子商务主机1.返回顶部 1、http://www.w3school.com.cn/hosting/host_ecommerce.asp2、2.返回顶部1、如果您的公司正在销售某种产品或服务&#xff0c;那么电子商务也许是做生意的一种好办法。 Internet 商业 电子商务就是在 Internet 上…

ConcurrentLinkedQueue

ConcurrentLinkedQueue 因为ConcurrentLinkedQueue是线程序安全的并且是针对并发的 主类 Java代码 public class conn{ public static void main(String[] args) throws Exception{ Queue<String> queuenew ConcurrentLinkedQueue<String>(); …