声明log4j的正确方法

声明log4j的正确方法,log4j,Log4j,我希望得到以下方面的澄清: 每个类在我的程序中都有话要说,它们创建自己的记录器,如下所示 public final static Logger logger = Logger.getLogger(ClassName.class); 我在想 为什么它是公开的?为什么习惯于将其公开? -记录器从不在创建它的类之外重用 是否可以在整个程序中使用通用记录器,而不是让每个类维护自己的日志? -似乎ClassName只是作为日志记录的一部分,用来指示类所说的内容。也许可以将类名的引用传递给记录器 请帮我澄

我希望得到以下方面的澄清:

每个类在我的程序中都有话要说,它们创建自己的记录器,如下所示

public final static Logger logger = Logger.getLogger(ClassName.class);
我在想

为什么它是公开的?为什么习惯于将其公开?
-记录器从不在创建它的类之外重用

是否可以在整个程序中使用通用记录器,而不是让每个类维护自己的日志?
-似乎ClassName只是作为日志记录的一部分,用来指示类所说的内容。也许可以将类名的引用传递给记录器


请帮我澄清一下

公开它的唯一原因是,如果你希望它在课堂之外被重用

每个应用程序可以有一个logger实例,但您会失去可用于配置包或类级日志设施的消息粒度