Apache flink Flink记录器nullPointException
我想用Flink代码编写Apache flink Flink记录器nullPointException,apache-flink,flink-streaming,Apache Flink,Flink Streaming,我想用Flink代码编写log。因此,我将这些行添加到conf/log4j.properties中: log4j.logger.myLogger=DEBUG, FILE log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender log4j.appender.FILE.File=myLog.out log4j.appender.FILE.ImmediateFlush=true log4j.appender.FILE.Threshol
log
。因此,我将这些行添加到conf/log4j.properties
中:
log4j.logger.myLogger=DEBUG, FILE
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File=myLog.out
log4j.appender.FILE.ImmediateFlush=true
log4j.appender.FILE.Threshold=debug
log4j.appender.FILE.Append=true
log4j.appender.FILE.DatePattern='.' yyyy-MM-dd-HH-mm
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.myLogger.layout.conversionPattern=%d %-5p %c - %m%n
然后,我在map类中获得logger实例,如下所示:
private transient Logger logger = LoggerFactory.getLogger("FILE");
或
但是,当我使用logger实例时,我得到了nullPointException
你能告诉我怎么了吗
提前感谢您。您的记录器被标记为瞬态,因此序列化后为空
您必须在RichMapFunction的open()方法中对其进行初始化,或者将其设置为静态。您的记录器被标记为瞬态,因此在序列化后为空 您必须在RichMapFunction的open()方法中对其进行初始化,或者将其设置为静态
private transient Logger logger = LoggerFactory.getLogger(MapClass.class);