问题描述
我正在尝试在控制台上打印 Nifi 注册表的所有日志,这是一个 springboot 应用程序。它有一个引导应用程序,它通过 java.lang.ProcessBuilder
加载主应用程序。下面是 bootstrap 应用程序的代码片段,它为其主应用程序记录日志:
final Future<?> stdOutFuture = loggingExecutor.submit(new Runnable() {
@Override
public void run() {
final Logger stdOutLogger = LoggerFactory.getLogger("org.apache.nifi.registry.StdOut");
final InputStream in = process.getInputStream();
try (final BufferedReader reader = new BufferedReader(new InputStreamReader(in))) {
String line;
while ((line = reader.readLine()) != null) {
stdOutLogger.info(line);
}
} catch (IOException e) {
defaultLogger.error("Failed to read from NiFi Registry's Standard Out stream",e);
}
}
});
以下是我用来将日志消息从引导程序和主应用程序打印到控制台的相关 logback 配置。
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX,UTC} [%thread] %-5level %logger{36}.%M:%L - %msg%n%rEx</pattern>
</encoder>
</appender>
<logger name="org.apache.nifi.registry.StdOut" level="INFO" additivity="false">
<appender-ref ref="CONSOLE" />
</logger>
<root level="INFO">
<appender-ref ref="CONSOLE" />
</root>
但这是打印日志消息如下:
2021-02-23T06:53:22.038Z [NiFi logging handler] INFO org.apache.nifi.registry.StdOut.run:1128 - 2021-02-23T06:53:22.038Z [main] INFO o.a.nifi.registry.BootstrapListener.sendCommand:120 - Successfully initiated communication with Bootstrap
这只是控制台上的一条日志消息。注意主应用程序的日志消息是如何与引导程序的日志消息内联的?我应该在 logback 的配置中更改什么来解决这个问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)