【问题标题】:How to get filename in log file using log4j?如何使用 log4j 获取日志文件中的文件名?
【发布时间】:2012-09-11 13:26:36
【问题描述】:

我是第一次使用 log4j。 根据要求,我想在日志文件中显示文件名(与显示日期相同)。

例如:

17:56:57,863 help INFO  [STDOUT] PropertyHandler-If

其中helpPropertyHandler-If写入log.debug()的文件名。

另外,我希望所有与数据库有关的异常都有不同的日志文件。 这可能吗?

【问题讨论】:

  • 为什么要在文件中存储文件名?文件名不是文件名吗。
  • 检查这个post,看起来和你的要求很相似。
  • OP 想要 class 的名称(或类文件,如果在那里定义了多个类),而不是 log 文件的名称.

标签: java log4j


【解决方案1】:

您可以定义多个附加程序(每个文件一个)并设置不同的记录器以使用不同的附加程序。通过使用不同的 Log 对象,您可以将它们定向到不同的文件。例如一个组件可以有多个Logs

【讨论】:

    【解决方案2】:

    您可以将PatternLayout 与“F”选项一起使用:“用于输出发出日志记录请求的文件名。”

    正如@Peter Lawrey 指出的那样,您可以使用多个附加程序,在您的情况下是为数据库记录日志的特定FileAppender

    【讨论】:

      猜你喜欢
      • 2010-09-10
      • 1970-01-01
      • 2014-11-17
      • 1970-01-01
      • 2010-11-01
      • 2023-03-04
      • 2015-11-19
      • 2016-12-21
      • 1970-01-01
      相关资源
      最近更新 更多