在类之间传递记录器

Ome*_*ron 6 java logging

我的项目中有两个类,我想将记录器从主类传递给子类,并让子类使用父级的记录器设置.

子类是一个单独的泛型类(即不与主类绑定),如果没有提供,则必须能够创建自己的记录器.

主类创建一个记录器,添加一个控制台处理程序,文件处理程序和日志格式化程序,我希望子类能够临时覆盖它的日志消息的日志格式化程序,然后当主类恢复时,恢复为它的日志格式化程序.

我已经尝试将记录器添加到子类中,或者根据需要创建一个新的记录器,但是我在屏幕上和日志文件中得到了多条消息(它似乎将处理程序附加到主类而不是覆盖 - 骑它).

我该怎么做呢?

mkv*_*cvc 12

我假设您正在使用java.util.logging包.在这种情况下,无论何时何地使用Logger.getLogger(someString),您都将获得相同的Logger实例.

例如:如果在Main类中使用Logger log = Logger.getLogger("myLogger"); ,你可以使用Logger.getLogger("myLogger")在任何其他类中获得相同的记录器;