4.3. 按部署日志记录
通过按部署日志记录,开发人员可以提前为其应用配置日志配置。部署应用时,根据定义的配置开始日志记录。通过此配置创建的日志文件仅包含有关应用程序行为的信息。
					如果未执行按部署的日志配置,则所有应用和服务器都使用来自 logging 子系统的配置。
				
与使用整个系统日志记录相比,这种方法具有优缺点。优点是 JBoss EAP 实例的管理员不需要配置服务器日志记录之外的任何其他日志记录。个缺点是每个部署的日志配置仅在服务器启动时读取,因此在运行时无法更改。
4.3.1. 将 Per-deployment Logging 添加到应用程序
					要为应用配置每个部署日志记录,请将 logging.properties 配置文件添加到您的部署中。建议使用这个配置文件,因为它可以用于任何记录 facade,其中 JBoss 日志管理器是底层日志管理器。
				
添加配置文件的目录取决于部署方法。
- 
							对于 EAR 部署,将日志记录配置文件复制到 META-INF/目录中。
- 
							对于 WAR 或 JAR 部署,请将日志配置文件复制到 WEB-INF/classes/目录中。
						如果您使用 Simple Logging Facade for Java(SLF4J)或 Apache log4j,则适合使用 logging.properties 配置文件。如果您使用的是 Apache log4j 附加程序,则需要配置文件 log4j.properties。配置文件 jboss-logging.properties 仅支持传统部署。
					
配置 logging.properties
					服务器引导时使用 logging.properties 文件,直到 logging 子系统启动为止。如果您的配置中没有包括 logging 子系统,则服务器将此文件中的配置用作整个服务器的日志记录配置。
				
JBoss 日志管理器配置选项
日志记录器选项
- 
							loggers=<category>[,<category>,…]- 指定要配置以逗号分隔的日志记录器类别列表。此处未列出的任何类别均不会从以下属性配置:
- 
							logger.<category>.level=<level> -指定类别级别。级别可以是有效级别之一。如果未指定,将继承最接近的父项的级别。
- 
							logger.<category>.handlers=<handler>[,<handler>,…]- 指定附加到此日志记录器的处理程序名称的逗号分隔列表。处理程序必须在同一属性文件中配置。
- 
							logger.<category>.filter=<filter>- 为类别指定过滤器。
- 
							logger.<category>.useParentHandlers=(true|false)- 指定日志消息是否应该与父处理程序匹配。默认值为true。
处理程序选项
- handler.<name>=<className>- 指定要实例化的处理程序的类名称。此选项是必需的。注意- Expand - 表 4.1. 可能的类名称: - Name - 关联的类 - 控制台(Console)- org.jboss.logmanager.handlers.ConsoleHandler- File- org.jboss.logmanager.handlers.FileHandler- periodic- org.jboss.logmanager.handlers.PeriodicRotatingFileHandler- Size- org.jboss.logmanager.handlers.SizeRotatingFileHandler- 定期大小- org.jboss.logmanager.handlers.PeriodicSizeRotatingFileHandler- Syslog- org.jboss.logmanager.handlers.SyslogHandler- Async- org.jboss.logmanager.handlers.AsyncHandler- 自定义处理程序可以有任何关联的类或模块。用户可在- logging子系统中定义自己的日志处理程序。- 如需更多信息,请参阅 JBoss EAP 配置指南中 的日志处理程序。 
- 
							handler.<name>.level=<level>- 限制这个处理器的级别。如果未指定,则保留默认值 ALL。
- 
							handler.<name>.encoding=<encoding>- 指定字符编码(如果这个处理器类型支持)。如果未指定,则使用特定于处理程序的默认值。
- 
							handler.<name>.errorManager=<name> -指定要使用的错误管理器名称。错误管理器必须在同一属性文件中配置。如果未指定,则不配置错误管理器。
- 
							handler.<name>.filter=<name>- 为类别指定过滤器。有关定义过滤器的详细信息,请参阅过滤器表达式。
- 
							handler.<name>.formatter=<name> -如果这个处理器类型支持,指定要使用的格式器的名称。格式器必须在同一属性文件中配置。如果没有指定,大多数处理程序类型将不会记录消息。
- handler.<name>.properties=<property>[,<property>,…]- 指定用于额外配置的 JavaBean-style 属性列表。进行粗略类型内省,以确定给定属性的相应转换。- 如果 JBoss 日志管理器中的所有文件处理程序 - 都需要在- fileName之前设置。在- handler.<name>.properties中显示属性的顺序是设置属性的顺序。
- 
							handler.<name>.constructorProperties=<property>[,<property>,…]- 指定应用作构造参数的属性列表。进行粗略类型内省,以确定给定属性的相应转换。
- 
							handler.<name>.<property>=<value> -设置 named 属性的值。
- 
							handler.<name>.module=<name> -指定处理器所在的模块的名称。
如需更多信息,请参阅 JBoss EAP 配置指南中 的日志处理程序属性。
错误管理器选项
- 
							errorManager.<name>=<className>- 指定要实例化错误管理器的类名称。此选项是必需的。
- 
							errorManager.<name>.properties=<property>[,<property>,…]- 指定额外配置的 JavaBean-style 属性列表。进行粗略类型内省,以确定给定属性的相应转换。
- 
							errorManager.<name>.<property>=<value> -设置 named 属性的值。
格式选项
- 
							formatter.<name>=<className>- 指定要实例化格式器的类名称。此选项是必需的。
- 
							formatter.<name>.properties=<property>[,<property>,…]- 指定额外配置的 JavaBean-style 属性列表。进行粗略类型内省,以确定给定属性的相应转换。
- 
							formatter.<name>.constructorProperties=<property>[,<property>,…]- 指定应用作构造参数的属性列表。进行粗略类型内省,以确定给定属性的相应转换。
- 
							formatter.<name>.<property>=<value> -设置 named 属性的值。
					以下示例显示了记录到控制台的 logging.properties 文件的最小配置。
				
示例:最小 logging.properties 配置