Apache Storm 1.2.2使用的是log4j2版本2.11.1。
要在Storm项目中使用log4j2,需要将相关的依赖项添加到项目的pom.xml文件中。以下是一个示例的pom.xml文件,展示了如何添加log4j2的依赖项:
org.apache.storm
storm-core
1.2.2
provided
org.apache.logging.log4j
log4j-api
2.11.1
org.apache.logging.log4j
log4j-core
2.11.1
在Storm的配置文件中,需要指定使用log4j2作为日志记录器。以下是一个示例的log4j2.xml配置文件:
在Storm拓扑的代码中,可以使用如下方式初始化log4j2:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class MyTopology {
private static final Logger logger = LogManager.getLogger(MyTopology.class);
public static void main(String[] args) {
// log4j2初始化
System.setProperty("log4j.configurationFile", "path/to/log4j2.xml");
// Storm拓扑的代码
logger.info("This is an info log message");
logger.error("This is an error log message");
}
}
在此示例中,我们使用LogManager.getLogger()
方法获取一个Logger实例,并使用logger.info()
和logger.error()
方法记录日志。
确保将"log4j.configurationFile"系统属性设置为log4j2.xml文件的路径,以便Storm使用正确的配置文件。
以上是使用log4j2记录日志的基本示例,你可以根据自己的需求进行自定义配置和使用其他log4j2的功能。