我正在尝试在我的应用程序中创建记录器层次结构。 (我使用的是标准的java记录器) 为此,我首先通过简单调用创建所有记录器的“祖父”:(在静态块中) Logger.getLogger( “MyApplication的”); 然后,每个具体记录器都要求记录器: Logger.getLogger( “myapplication.package1.Main”); 我创造了他的父亲: Logger.getLogger( “myapplication.package2”);
现在,我正在使用JConsole来使用RMX来更改日志记录级别。 当我为myapplication.package1.Main调用getLoggerParentName时,我得到了myapplication.package1,而对于myapplication.package1,我得到了myapplication。
但是设置myapplication的记录器级别不会影响孩子的级别。 (虽然设置myapplication.package1级别会影响Main的记录器级别。)
为什么?我错过了什么吗? 至于我进入Logger课程,我认为这应该有用......
答案 0 :(得分:0)
每个记录器都有自己的关联级别。如果级别设置为“null”,则表示“从父级记录器继承此记录器的级别”。
如果子记录器被赋予非空级别,则它不会从其父级继承级别更改。
myapplication.package1是否有明确设置的级别? 如果为每个记录器打印getLevel()的结果会发生什么?