Log4j 在Apache Flink中使用SLF4J记录器时出错
我想在Flink中输出日志,我已经创建了下面提到的记录器代码 我已经进口了这家伐木厂Log4j 在Apache Flink中使用SLF4J记录器时出错,log4j,slf4j,apache-flink,flink-cep,loggerfactory,Log4j,Slf4j,Apache Flink,Flink Cep,Loggerfactory,我想在Flink中输出日志,我已经创建了下面提到的记录器代码 我已经进口了这家伐木厂 import org.slf4j.LoggerFactory; 类包含如下代码 final static org.slf4j.Logger logger = LoggerFactory.getLogger(CEPMonitoring.class); public static void main(String[] args) throws Exception { logger.inf
import org.slf4j.LoggerFactory;
类包含如下代码
final static org.slf4j.Logger logger = LoggerFactory.getLogger(CEPMonitoring.class);
public static void main(String[] args) throws Exception {
logger.info("execution began \n ");
}
然而,这不是打印任何内容。此外,我没有在中提到的logback.xml
文件
另外,当我使用
final static Logger logger = LoggerFactory.getLogger(CEPMonitoring.class);
这最终促使我写作
final static org.slf4j.Logger logger = LoggerFactory.getLogger(CEPMonitoring.class);
它给了我一个错误,然后我不得不
最重要的是,我在运行程序时收到以下警告
log4j:WARN No appenders could be found for logger (org.stsffap.cep.monitoring.CEPMonitoring).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
我不知道该怎么办 我可以通过在
src/main/resources
文件夹中创建log4j.properties
文件并添加以下代码来查看日志
log4j.rootLogger=INFO, console
# patterns:
# d = date
# c = class
# F = file
# p = priority (INFO, WARN, etc)
# x = NDC (nested diagnostic context) associated with the thread that generated the logging event
# m = message
# Log all infos in the console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss.SSS} %5p [%-10c] %m%n
# Log all infos in flink-app.log
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.file=flink-app.log
log4j.appender.file.append=false
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss.SSS} %5p [%-10c] %m%n
# suppress info messages from flink
log4j.logger.org.apache.flink=WARN
为了了解这些属性的含义,我建议观看
也为了抑制以下警告
log4j:警告请正确初始化log4j系统
添加以下行
PropertyConfigurator.configure(" path to log4j.properties");
弗林克0.7相当老了。有关最新的稳定文档,请参阅。请注意,Flink在conf/log4j.properties中附带了一个默认的log4j.properties文件(它将日志输出到日志目录,而不是控制台)。我使用maven构建FlinkCEP,因此我认为在这种情况下,我需要手动创建它。如果我错了,请纠正我Flink CEP不是二进制发行版的一部分,但是您不必从源代码构建Flink来使用CEP库。只需添加maven依赖项:OTOH,如果您在源代码树中查找示例log4j.properties文件,它位于flink dist/src/main/flink bin/conf/log4j.properties中