同一个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'
log4j:WARN
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注 让阿豪来帮你解答,本回答参考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的配置文件,以实现针对不同级别的输出方式和输出位置等的精细化设置。
解决 无用评论 打赏 举报
悬赏问题
- ¥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腾讯文档收集表