我在log4j.properties文件中配置了日志记录,我得到类似这样的输出
2013-11-12 19:33:17,897 - INFO Starting queue dispatching for DaphneStore Queue: om.fi
2013-11-12 19:33:17,897 - INFO Starting CBR queue dispatching for DaphneStore
2013-11-12 19:33:17,897 - INFO Starting server shutdown
有没有可能我在左侧没有获得某些行的时间戳信息,如下所示
2013-11-12 19:33:17,897 - INFO Starting queue dispatching for DaphneStore Queue:
Starting CBR queue dispatching for DaphneStore
Starting server shutdown
这是我的log4j配置
# Set root logger to output only ERROR and FATAL events to R appender
log4j.rootLogger=ERROR, R
# Define R appender to output to local log
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.file=D:/logs/abc.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d %-5p %c - %m%n
答案 0 :(得分:2)
快速解决方案:
答案 1 :(得分:1)
您可能没有正确使用log4j。每次调用log.info/error/...()
都被视为单独的日志消息。
你可能想要做的是这样的事情:
final StringBuilder logmsg = new StringBuilder();
logmsg.append("Starting queue dispatching for DaphneStore Queue: \n");
logmsg.append("Starting CBR queue dispatching for DaphneStore\n");
logmsg.append("Starting server shutdown\n");
log.info(logmsg);
<强>更新强>
我的意思是时间戳是日志消息的重要组成部分,它说 时发生了什么事。如果您始终不需要此信息,那么您应该将所有时间戳丢失在一起,并在应用程序启动时进行单个日志记录调用以标记:
String moment = (new SimpleDateFormat("yyyy-MM-dd ...")).format(new Date());
log.info(moment + " Application started");