【问题标题】:Log4J template pattern conversionLog4J 模板模式转换
【发布时间】:2016-02-24 05:58:11
【问题描述】:

我想完全按照使用 bash“logger”命令的方式输出日志消息,但在 Java 中使用 Log4j:

Feb  5 19:35:28 hostname program: mymsg

尝试了许多不同的模式后,我无法重现相同的输出。知道如何为此编写模式吗?

谢谢,

【问题讨论】:

  • 你尝试了什么模式,出了什么问题?
  • 我尝试了很多模式都没有成功,在 Python 中,记录器的“格式”看起来像这样: 'format': '%(asctime)s SENDER_NAME PROGRAM_NAME: %(message )s' 输出以下内容:

标签: java log4j rsyslog


【解决方案1】:

我猜你会从系统变量或环境变量中获取主机名,因为在 log4j 中主机名没有默认参数。因此,假设您将从 sys 变量中获取主机名和程序名。所以模式是:

<PatternLayout pattern="%d{MMM d HH:mm:ss} ${sys:user.home} ${sys:program}: %m%n" />

reference

【讨论】:

    猜你喜欢
    • 2021-07-20
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    相关资源
    最近更新 更多