Log4j 在Apache Flink中使用SLF4J记录器时出错

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

我想在Flink中输出日志,我已经创建了下面提到的记录器代码

我已经进口了这家伐木厂

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中