【问题标题】:Log4J How to set log FOLDER (KEY) on NTEventLogAppenderLog4J 如何在 NTEventLogAppender 上设置日志文件夹(KEY)
【发布时间】:2011-06-02 09:54:45
【问题描述】:

我创建了一个 NTEventLogAppender 类型的附加程序,如下所示:

log4j.appender.EVA=org.apache.log4j.nt.NTEventLogAppender
#log4j.appender.EVA.log=TestLog
log4j.appender.EVA.layout=org.apache.log4j.PatternLayout
log4j.appender.EVA.source=TestSource
log4j.appender.EVA.layout.ConversionPattern=[%c][%l][%p][%thread]: %m%n

如您所见,在注释行中,我尝试设置日志 TestLog,以便将日志错误存储在我的应用程序的特定事件查看器日志中,而不是事件查看器默认应用程序日志中。

如果我取消注释一行,我会报错说日志属性不存在:

**log4j:WARN No such property [log] in org.apache.log4j.nt.NTEventLogAppender.**

使用 Log4Net 甚至可以做到这一点吗?

谢谢

【问题讨论】:

  • 什么鬼?您的意思是 Log4Net 允许您这样做而 Log4j 不允许吗?只是一个简单的是或否就可以了;-)

标签: java log4j logging event-viewer


【解决方案1】:

我认为这在 log4j 中是不可能的:

为什么我不能将我的记录器名称映射到出现在 NT 中的记录器 使用 NTEventLogAppender 时的事件日志?

不幸的是,记录器名称在消息中是硬编码的 资源 DLL(参见关于 NTEventLogAppender 的上一个问题),所以 没有任何简单的方法可以动态覆盖这些...事实上,我 不要认为可以这样做,因为您必须修改 DLL 每个应用程序的资源。由于大多数本机应用程序不 无论如何都要使用 Logger 列...

来源:http://logging.apache.org/log4j/1.2/faq.html#a2.10

【讨论】:

    猜你喜欢
    • 2012-08-20
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 2016-08-02
    相关资源
    最近更新 更多