linux 查询 java 日志输出两份日志
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
在 linux 中,我们经常会在运行一个 jar 程序之后随即打开它的 tail -f /xxx/out.log 功能,然后我们就发现一个奇怪的现象,就是所有的日志都被输出两行,而且日志的内容都是一样的,这个很奇怪,为什么呢?
通常我们的启动脚本这么写:
#!/bin/sh
java -jar dataInsertKeyword.jar &
tail -f /data/logs/dataInsert/dataInsert.log
因为我们通常在配置 log4j.properties 文件的时候就指定的如下的输出格式
#config root logger
log4j.rootLogger = DEBUG,stdout,rolling_file
# Console Appender #
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.encoding=UTF-8
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d[%p] %c[%M(%L)] - %m%n
log4j.appender.stdout.Threshold=INFO
# Rolling File #
log4j.appender.rolling_file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.rolling_file.Threshold=INFO
log4j.appender.rolling_file.encoding=UTF-8
#windows os
log4j.appender.rolling_file.File=/data/logs/out.log
#linux os
#log4j.appender.rolling_file.File=/data/default/default.log
log4j.appender.rolling_file.DatePattern='_'yyyy-MM-dd_HH
log4j.appender.rolling_file.layout=org.apache.log4j.PatternLayout
log4j.appender.rolling_file.layout.ConversionPattern=%d[%p] %c[%M(%L)] - %m%n
这样就导致一个问题,本身在我们启动程序的时候,日志已经被输出到了 stdout 了,stdout 就是输出到控制台的意思,本来就输出一次了,然后我们又执行了
tail -f /data/logs/dataInsert/dataInsert.log
命令,吧日志又输出一次,所以我们会看到日志被打印两次,实际上是一次,只不过我们看到了两次而已。
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献17条内容
所有评论(0)