【问题标题】:Tomcat 8 Apache Log4j 1.2.17 TimeTomcat 8 Apache Log4j 1.2.17 时间
【发布时间】: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


    【解决方案1】:

    试试这个。

    log4j.appender.stdout.layout.ConversionPattern=%-d{MMM dd yyyy HH:mm:ss} %-5p %C{1} %M %m%n

    你的输出会像

    2016 年 2 月 22 日 15:52:22 信息类名方法名 StringInLogDotInfo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-29
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 2016-01-09
      相关资源
      最近更新 更多