Log4j2日志配置详解
log4j与log4j不同:log4j是通过Logger的静态方法getLogger()获取Logger对象,而log4j2是通过LogManager的静态方法getLogger()获取Logger对象。 1.log4j2详解 1. log4j2原理 使用log4j 2 api的应用程序将从LogManager请求具有特定名称的记录器。LogManager将找到适当的LoggerContext,然后从中获取记录器。如果必须创建记录器,它将与LoggerConfig关联,loggerconfig包含a)与记录器相同的名称,b)父包的名称,或c)根LoggerConfig。LoggerConfig对象是从配置中的记录器声明创建的。LoggerConfig与实际传递logevents的appender相关联。 2.logger等级制度 与普通的system.out.println相比,任何日志api的首要优势在于它能够禁用某些日志语句,同时允许其他人不受阻碍地打印。此功能假定日志空间(即所有可能的日志语句的空间)是根据某些开发人员选择的条件进行分类的。 在log4j 1.x中,记录器层次结构是通过记录器之间的关系来维护的。在log4j 2中,这种关系不再存在。相反,层次结构是在loggerconfig对象之间的关系中维护的 。 loggers和loggerconfigs是命名实体