在代码中使用记录器
将 slf4j
依赖项添加到 pom.xml
:
<properties>
<slf4j.version>1.7.21</slf4j.version>
</properties>
<!-- ... -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
创建一个 logger 对象以在你的类中使用:
private Logger LOGGER = LoggerFactory.getLogger(FlinkApp.class);
在需要序列化的类中,例如 RichMapFunction
的子类,不要忘记将 LOGGER
声明为 transient
:
private transient Logger LOG = LoggerFactory.getLogger(MyRichMapper.class);
在你的代码中,像往常一样使用 LOGGER
。使用占位符({}
)来格式化对象等:
LOGGER.info("my app is starting");
LOGGER.warn("an exception occurred processing {}", record, exception);