我正在使用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