普通网友 2024-03-22 11:40 采纳率: 0%
浏览 15

log4j:WARN

同一个kettle部署包在其中一台linux系统内可以正常运行,在另外一台linux系统内提示WARN Continuable parsing error 45 and column 76
log4j:WARN Element type "rollingPolicy" must be declared.
log4j:WARN Continuable parsing error 52 and column 14
log4j:WARN The content of element type "appender" must match "(errorHandler?,param*,layout?,filter*,appender-ref*)".
log4j:WARN Please set a rolling policy for the RollingFileAppender named 'pdi-execution-appender'

  • 写回答

2条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-03-22 11:40
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题分析: 根据所提供的信息,可以初步推测出在运行kettle部署包时,出现了日志相关的错误提示。具体来说,出现了如下的几个问题:
    • Continuable parsing error 45 and column 76
    • Element type “rollingPolicy” must be declared
    • Continuable parsing error 52 and column 14
    • The content of element type “appender” must match “(errorHandler?,param*,layout?,filter*,appender-ref*)”
    • Please set a rolling policy for the RollingFileAppender named ‘pdi-execution-appender’ 这些问题中涉及到了log4j组件,该组件是一个Java类库,可以实现应用程序输出日志信息的功能。而上述错误提示则表明log4j无法正确解析应用程序的日志配置文件,导致了错误的发生。 解决方案: 针对该问题,可以尝试以下几个解决方案: 1.确认Linux系统之间的版本差异 首先,需要确认在两台Linux系统之间的版本差异是否比较大。如果差异比较大,可能存在同一个kettle部署包在两台系统中表现不同的情况。因此,需要确认两台系统的操作系统版本、JDK版本以及log4j版本是否一致,才能进一步判断是否需要针对具体版本进行处理。 2.检查log4j配置文件 其次,需要检查log4j的配置文件是否正确,是否符合log4j的语法规则。根据上述错误提示,可以初步判断是某些log4j的标签、属性未被正确解析所导致的。需要仔细检查log4j的配置文件,并可以参考错误信息进行调整。具体来说,可以按照以下步骤进行调整:
    • 检查配置文件中是否含有正确的log4j标签,如log4j:configuration、、等;
    • 检查标签内的属性是否正确,如appender标签内是否缺少必要的rollingPolicy属性等;
    • 比对标签内的内容是否符合log4j的标准语法规则。 例如,以下是一个基本的log4j配置文件示例:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration>
        <appender name="myAppender" class="org.apache.log4j.RollingFileAppender">
            <param name="File" value="myApp.log" />
            <param name="Append" value="true" />
            <param name="MaxFileSize" value="10MB" />
            <param name="MaxBackupIndex" value="5" />
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%-5p [%d{HH:mm:ss}] %c - %m%n" />
            </layout>
        </appender>
        <root>
            <level value="ERROR" />
            <appender-ref ref="myAppender" />
        </root>
    </log4j:configuration>
    

    其中,该文件采用了基本的log4j标签和属性,可以参考该例子进行调整,以符合log4j的语法规则。 3.更新log4j版本 最后,如果上述两个解决方案都无法解决问题,可以考虑更新log4j的版本。由于log4j是一个比较成熟的日志组件库,其稳定性和兼容性也比较高,因此升级到最新版可能会解决原有的版本兼容性问题。当然,在进行版本升级时需要注意兼容性问题,需要确认新版本的log4j是否能够与其他组件、应用程序等进行配合使用,否则可能会引入新的问题。 代码示例: 以下是一个简单的Java程序,可以使用log4j实现日志输出功能。

    import org.apache.log4j.Logger;
    import org.apache.log4j.PropertyConfigurator;
    public class Log4jExample {
        static Logger logger = Logger.getLogger(Log4jExample.class.getName());
        public static void main(String[] args) {
            // 指定log4j配置文件
            PropertyConfigurator.configure("log4j.properties");
            
            logger.debug("debug message");
            logger.info("info message");
            logger.warn("warn message");
            logger.error("error message");
            logger.fatal("fatal message");
        }
    }
    

    其中,可以通过Logger类实例化一个log4j的输出对象,并使用各种不同级别的输出方法(如debug、info、warn、error、fatal)进行日志输出。通过调用PropertyConfigurator类的configure方法,可以指定log4j的配置文件,以实现针对不同级别的输出方式和输出位置等的精细化设置。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月22日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表