在启动时,Apusic应用服务器初始化一个全局的日志管理器(LogManager)对象, 此全局日志管理器(LogManager)对象用于维护日志记录器(Logger)和日志服务所共享的状态,并且在整个服务器的运行过程中是唯一且固定的:
-
管理日志记录器(Logger)对象的分级命名空间,所有已命名的日志记录器(Logger)对象都存储于此命名空间之中;
-
管理全局日志输出(Handler)对象列表。
日志管理器从位于Apusic应用服务器安装目录中config目录下的配置文件logging.xml读取其初始化配置。
logging.xml配置文件中可使用handler标记装载某个日志输出类文件并注册一个全局日志输出(Handler)对象。每个handler标记可以有零个或多个属性(property)声明,这些属性将通过JavaBean的内省(introspection)机制在初始化时对此Handler对象进行设置。
在日志管理器(LogManager)对日志子系统进行配置时,必须保证所有的日志输出(Handler)类位于系统的类路径中。
对于在logging.xml中声明的日志记录器(Logger)对象,可以按照句点分隔的命名方式进行命名,日志管理器(LogManager)将把这些对象按照其命名组织到一个分级的命名空间中,例如,名字为a.b.c的日志记录器(Logger)对象从属于名字为a.b的日志记录器(Logger)对象,而名字为a.c的日志记录器(Logger)对象与名字为a.b的日志记录器(Logger)对象是同级的关系。
在Apusic应用服务器中,包含多个除了日志子系统之外的其他子系统,其他子系统在日志子系统中注册自己的日志记录器(Logger)分级命名空间,子系统和子系统中的模块向命名空间中相应的日志记录器(Logger)输出日志信息。这些由应用服务器注册并使用的日志记录器被称为系统日志记录器(Logger),对应于应用系统注册并使用的应用日志记录器(Logger)。