如何从外壳脚本中覆盖 Log4j 值?



我正在使用connect-log4j属性在Kafka JDBC接收器连接器启动时进行日志记录。 我正在尝试覆盖connect-log4j.properties中shell脚本中的值。

我的外壳脚本:

呼应"起步消费者">

/bin/connect-distributed -daemon/connect/connect-distributed.properties.

我的 log4j 属性:

log4j.rootLogger=INFO, stdout, file base.log.dir=/kafka/logs/

从命令行管理 process.name 脚本命令获取

process.name=?????

log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c:%L)%n log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=${base.log.dir}/${process.name}.log

我能够通过传递创建 test.log 的 process.name=test 来创建日志。但是我找不到任何信息来覆盖我的 shell 脚本中的"process.name"值。任何帮助,不胜感激。

我怀疑您可以使用 Log4J MDC 完成您正在尝试做的事情? http://www.baeldung.com/mdc-in-log4j-2-logback

最新更新