如何从shell脚本覆盖Log4j值?

时间:2018-04-10 20:01:17

标签: java linux apache-kafka log4j confluent-kafka

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

我的Shell脚本:

  

echo“开始消费者”

     

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

我的log4j属性:

  

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

//从Shell脚本命令

获取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

我能够通过传递process.name = test创建一个日志来创建test.log。但我无法找到任何信息来覆盖我的shell脚本中的'process.name'值。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我怀疑你可以使用Log4J MDC完成你想要做的事情吗? http://www.baeldung.com/mdc-in-log4j-2-logback