【发布时间】:2016-06-09 22:52:47
【问题描述】:
我最近关注this tomcat article,在使用 log4j 时更改了我的标准输出日志外观。我想要用户执行的每个操作的时间戳。看完这篇文章后,我仍然没有收到想要的结果。 tomcat 8 标准输出日志如下所示:
(action.BaseAction 39 ) 调用动作 /editBlaBlaBla 作者:系统管理员
但是,我想为用户执行的每个操作添加时间戳。即:
(action.BaseAction 2015/07/26 15:46:12 39 ) 调用动作 /editBlaBlaBla 作者:系统管理员
将必要的 jars(tomcat-juli、tomcat-juli-adapter 和 log4j)添加到 Tomcat 8.0\lib 目录并在 Tomcat 8.0\conf 目录中的我的 logging.properties 旁边添加一个 log4j 属性文件之后。
我的标准输出日志如下所示:
2016-02-26 10:38:18 Commons Daemon procrun stdout 初始化运行
ControllerServlet 初始化
运行 ControllerServlet tempInit
没有对应于用户操作的条目。
我的 log4j.properties 文件:
log4j.rootLogger=stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.STDOUT.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= %d [%-6p] %c{1} - %m%n
这是在我的 java 操作类中初始化记录器的方式
import org.apache.log4j.Logger;
private static final Logger logger = Logger.getLogger(MYCLASSHERE.class);
如何在不重做整个 java 日志语句的情况下获取时间戳?
【问题讨论】:
标签: java apache tomcat logging