Java Log4J如何在NTEventLogAppender上设置日志文件夹(键)

Java Log4J如何在NTEventLogAppender上设置日志文件夹(键),java,log4j,logging,event-viewer,Java,Log4j,Logging,Event Viewer,我创建了一个NTEventLogAppender类型的appender,如下所示: 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.layou

我创建了一个NTEventLogAppender类型的appender,如下所示:

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时,甚至可以这样做吗


谢谢

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

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

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


资料来源:

这到底是怎么回事?你是说Log4Net允许你这么做而Log4j不允许吗?一个简单的“是”或“否”就可以了;-)