log4j警告之log4j:WARN No appenders could be found for logger

这篇具有很好参考价值的文章主要介绍了log4j警告之log4j:WARN No appenders could be found for logger。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1. 警告信息

 2. 错误解读

 3.解决办法


 

1. 警告信息


错误输出信息:

log4j:WARN No appenders could be found for logger (org.apache.flink.api.java.utils.PlanGenerator).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

log4j:warn see http://logging.apache.org/log4j/1.2/faq.html#noconfig for mor,大数据问题排错解决,Flink,log4j,大数据,flink,hadoop,java

 2. 错误解读


如果找不到默认配置文件log4j.properties和log4j.xml,并且应用程序不执行显式配置,就会发生这种情况。log4j使用Thread.getContextClassLoader().getResource()定位默认配置文件,而不直接检查文件系统。要知道放置log4j.properties或log4j.xml的适当位置,就需要了解使用中的类加载器的搜索策略。log4j不提供默认配置,因为在某些环境中可能禁止输出到控制台或文件系统。

 3.解决办法

 log4j没有配置日志记录的位置,需要配置log4j.properties,在src目录main目录resources文件夹下下新建log4j.properties

log4j:warn see http://logging.apache.org/log4j/1.2/faq.html#noconfig for mor,大数据问题排错解决,Flink,log4j,大数据,flink,hadoop,java

 可以将下面的内容写入文件

1.应用于控制台 

log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender 
log4j.appender.Threshold = DEBUG 
log4j.appender.CONSOLE.Target = System.out 
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern = [framework] % d - % c -%- 4r [ % t] %- 5p % c % x - % m % n 

#log4j.appender.CONSOLE.layout.ConversionPattern = [start] % d {DATE} [DATE] % n % p[PRIORITY] % n % x[NDC] % n % t[THREAD] n % c[CATEGORY] % n % m[MESSAGE] % n % n 

2.应用于文件 
log4j.appender.FILE = org.apache.log4j.FileAppender 
log4j.appender.FILE.File = file.log 
log4j.appender.FILE.Append = false 
log4j.appender.FILE.layout = org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.ConversionPattern = [framework] % d - % c -%- 4r [ % t] %- 5p % c % x - % m % n 

# Use this layout for LogFactor 5 analysis 

3.应用于文件 
log4j.appender.FILE = org.apache.log4j.FileAppender 
log4j.appender.FILE.File = file.log 
log4j.appender.FILE.Append = false 
log4j.appender.FILE.layout = org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.ConversionPattern = [framework] % d - % c -%- 4r [ % t] %- 5p % c % x - % m % n 

在这里我的配置文件为:

log4j.rootLogger=warn,CONSOLE,File

#Console
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss SSS} [%t] [%c] [%p] - %m%n

#File  DailyRollingFileAppender
log4j.logger.File=info
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss SSS} [%t] [%c] [%p] - %m%n
log4j.appender.File.datePattern='.'yyyy-MM-dd
log4j.appender.File.Threshold = info
log4j.appender.File.append=true
log4j.appender.File.File=d://code/logs/flink/disk.log

 配置完成后重新打包即可

log4j:warn see http://logging.apache.org/log4j/1.2/faq.html#noconfig for mor,大数据问题排错解决,Flink,log4j,大数据,flink,hadoop,java 

注意查看打包后是否在target---classes文件下,如果不在就无法解决,此时需要手动复制进去

 这是打包后不在的情形

log4j:warn see http://logging.apache.org/log4j/1.2/faq.html#noconfig for mor,大数据问题排错解决,Flink,log4j,大数据,flink,hadoop,java

 复制到target-----classes文件中

log4j:warn see http://logging.apache.org/log4j/1.2/faq.html#noconfig for mor,大数据问题排错解决,Flink,log4j,大数据,flink,hadoop,java

 此时再次执行成功

log4j:warn see http://logging.apache.org/log4j/1.2/faq.html#noconfig for mor,大数据问题排错解决,Flink,log4j,大数据,flink,hadoop,java文章来源地址https://www.toymoban.com/news/detail-626005.html

到了这里,关于log4j警告之log4j:WARN No appenders could be found for logger的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker安装elasticsearch报错 main ERROR No Log4j 2 configuration file found. Using default configuration

    Exception in thread \\\"main\\\" ElasticsearchParseException[malformed, expected settings to start with \\\'object\\\', instead was [VALUE_STRING]] 报错信息 2023-04-06 15:40:50,427 main ERROR No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically provided configurations. Set system property \\\'lo

    2024年02月07日
    浏览(50)
  • 【异常】org.apache.logging.log4j.LoggingException: log4j-slf4j-impl cannot be present with log4j-to-slf4

    这个错误表明在你的项目中同时引入了 log4j-slf4j-impl 和 log4j-to-slf4j 两个依赖,而这两者是互斥的,不能同时存在。 解决这个问题有两种方式: 移除冲突的依赖 : 在你的项目的构建文件(如 pom.xml )中,找到引入的依赖列表,检查是否同时引入了 log4j-slf4j-impl 和 log4j-to-slf

    2024年02月04日
    浏览(43)
  • Java中的Log4j是什么?如何使用Log4j进行日志管理

    Log4j是一个Java日志管理工具,它可以帮助开发者在应用程序中记录日志。它是由Apache软件基金会开发和维护的,已经成为Java开发中最流行的日志管理框架之一。 Log4j可以通过多种方式记录日志,包括控制台输出、文件输出、数据库存储等。此外,Log4j还提供了多种日志级别,

    2024年02月04日
    浏览(55)
  • elasticsearch-7.13.3 升级log4j 到log4j-2.17.1

    1、升级原因 log4j低版本存在严重漏洞,根据需要升级到安全版本,不一定是最新。 log4j-2.17.1 jar包下载地址https://archive.apache.org/dist/logging/log4j/2.17.1/ 2、下载后解压apache-log4j-2.17.1-bin.tar.gz 升级需要用到截图中四个jar包 3、升级 删除旧版本log4j 进入elasticsearch-7.13.3目录 $ rm -rf l

    2024年02月12日
    浏览(52)
  • Log4J

    为什么要用日志? -- 方便调试代码 什么时候用?什么时候不用? ​ 出错调试代码时候用 生产环境下就不需要,就需要删除 怎么用? -- 输出语句 ​ log4j是Apache的一个开放源代码的项目,通过使用log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服

    2024年02月08日
    浏览(42)
  • log4j漏洞详解

    log4j全名就是(log for java),就是apache的一个开源的日志记录组件 ,它在Java项目中使用的比较广泛。 使用方法:                 1.pom引入依赖                 2.获取logger实例                 3.logger.info() debug() error() warn()... 优点:功能丰富,易于集成

    2024年02月16日
    浏览(42)
  • 【日志加载 log4j】

    2.编写配置 3.获取日志对象 4.1 Loggers 记录器 4.2 Appenders 输出源 4.3 Layouts 布局 5. 配置文件 log4j.properties

    2024年02月11日
    浏览(88)
  • Log4j源码解析

    Log4j源码解析 主要流程 Logger logger = Logger.getLogger(Main.class); 1、通过Logger.getLogger(Class clazz) 或 Logger.getLogger(String name)进入。 2、加载LogManager进jvm, 执行静态代码块执行初始化, 创建出RepositorySelector实例及LoggerRepository实例(Hierarchy)。 3、调用OptionConverter.selectAndConfigure(URL url, String

    2024年02月15日
    浏览(46)
  • ctfshow-Log4j复现-log4j复现

    1、买VPS,打开mobax进行ssh连接,开两个终端 一个终端开启监听 另一个终端进入JNDIExploit-1.2-SNAPSHOT.jar所在的目录jndiexploit执行下面命令 生成payload 构造payload 输入进去之后看结果 反弹shell成功 结束

    2024年02月12日
    浏览(51)
  • log4j JNDI注入漏洞

    目录 log4j JNDI注入漏洞 一、LDAP介绍 二、JDBC介绍 三、JNDI介绍 四、JNDI命名引用 五、log4j JNDI注入漏洞 ​LDAP是一种协议,LDAP 的全称是 Lightweight Directory Access Protocol,轻量目录访问协议。 ​JDBC是一种规范,JDBC的全称是Java数据库连接(Java Database connect),它是一套用于执行SQL语句

    2024年02月01日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包