4.2.2. 使用 JBoss Logging 将日志记录添加到应用程序
此流程演示了如何使用 JBoss Logging 向应用添加日志。
如果使用 Maven 构建项目,您必须将 Maven 配置为使用 JBoss EAP Maven 存储库。如需更多信息,请参阅配置 JBoss EAP Maven 存储库。
JBoss Logging JAR 文件必须位于应用程序的构建路径中。
- 如果使用红帽代码Ready Studio 构建,请从 Project 菜单中选择 Properties,然后选择 Targeted Runtimes 并确保选中 JBoss EAP 的运行时。
如果使用 Maven 构建项目,请确保将
jboss-logging
依赖项添加到项目的pom.xml
文件中,以访问 JBoss Logging 框架:<dependency> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging</artifactId> <version>3.3.0.Final-redhat-1</version> <scope>provided</scope> </dependency>
jboss-eap-jakartaee8 BOM 管理
jboss-logging
的版本。如需了解更多详细信息,请参阅管理项目依赖项。有关登录应用的工作示例,请参见 JBoss EAP 附带的日志
快速入门。
您不需要将 JAR 包含在您的构建的应用中,因为 JBoss EAP 将它们提供给已部署的应用。
对于您要添加日志的每个类:
为您要使用的 JBoss Logging 类命名空间添加导入语句。您至少需要以下导入:
import org.jboss.logging.Logger;
创建
org.jboss.logging.Logger
实例,并通过调用静态方法Logger.getLogger(Class)
进行初始化。建议将它创建为各个类的一个实例变量。private static final Logger LOGGER = Logger.getLogger(HelloWorld.class);
在您要发送日志消息的代码中调用
Logger
对象方法。日志器具
有许多不同的方法,具有不同参数以用于不同类型的消息。使用以下方法发送带有对应日志级别和消息参数的日志消息,作为
字符串:LOGGER.debug("This is a debugging message."); LOGGER.info("This is an informational message."); LOGGER.error("Configuration file not found."); LOGGER.trace("This is a trace message."); LOGGER.fatal("A fatal error occurred.");
有关 JBoss Logging 方法的完整列表,请参阅 Logging API 文档。
以下示例从属性文件加载应用的自定义配置。如果未找到指定的文件,则会记录 aERROR 级别的日志消息。
示例:使用 JBoss Logging 的应用程序日志记录
import org.jboss.logging.Logger; public class LocalSystemConfig { private static final Logger LOGGER = Logger.getLogger(LocalSystemConfig.class); public Properties openCustomProperties(String configname) throws CustomConfigFileNotFoundException { Properties props = new Properties(); try { LOGGER.info("Loading custom configuration from "+configname); props.load(new FileInputStream(configname)); } catch(IOException e) //catch exception in case properties file does not exist { LOGGER.error("Custom configuration file ("+configname+") not found. Using defaults."); throw new CustomConfigFileNotFoundException(configname); } return props; } }