首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建了log4net EventLog自定义日志,但未使用

创建了log4net EventLog自定义日志,但未使用
EN

Stack Overflow用户
提问于 2012-03-06 18:33:57
回答 3查看 2.5K关注 0票数 1

在一个项目中,我使用log4net在事件日志中进行记录。我需要创建一个自定义日志,以便所有的人都会去那里。我尝试将事件添加到不同的日志中,并且它成功了,但出于某些原因,现在不可能从配置文件中更改日志名称。即使我更改了它,它也会保留前一个并登录到其中。下面是我的app.config示例:

代码语言:javascript
复制
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date{yyyy-MMMM-dd HH:mm:ss, fff} [%thread] %level %message %exception%newline"/>
  </layout>
  <filter type="log4net.Filter.LevelRangeFilter">
    <levelMin value="DEBUG" />
    <levelMax value="FATAL" />
  </filter>
  <ApplicationName>TestLoggerFichierConfig</ApplicationName>
  <LogName>AgentLogger</LogName>
</appender>

我读到,在添加新日志时,必须重新启动事件日志,以便在其中显示最近的事件。我这样做了,它允许我看到已经创建的新日志,但是什么也不会去那里。是否有可能强迫Log4Net停止使用以前的日志,而使用我在app.config中定义的日志?

谢谢你的帮助。

更新:

似乎le EventLogs识别了源应用程序,并决定在wich中放置新的事件,因为他记得它以前去过的地方。当我第一次设置logName时,它工作得很好。如果我停止应用程序,更改日志并重新启动它,事件仍然会转到前面的日志。如果事件日志中不存在logName,则将创建它,但不使用它!可能有一些事情要做,但它不是在log4net方面,在这个级别上更改窗口设置可能是危险的。我在同一个eventLogAppender文件上创建了两个app.config,它们都指向不同的日志。不过,这些事件都发生在同一个日志上。很明显,这个问题不是来自log4net,我的问题的解决方案不会通过代码解决。不过,还是谢谢你的建议。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-06 19:27:40

您的配置可能有问题,而且它根本不告诉您,因为log4net本身设计为永远不会抛出错误。

您可以为log4net打开内部调试,但不要在打开log4net调试的情况下部署到生产中。如果使用log4net调试开关部署产品,最终会发生奇怪的情况。

http://haacked.com/archive/2006/09/27/Log4Net_Troubleshooting.aspx

http://logging.apache.org/log4net/release/faq.html (请参阅故障排除部分)

票数 1
EN

Stack Overflow用户

发布于 2012-03-28 16:33:31

我遇到了这个问题,而不是log4net,而是将源重新映射到一个新的自定义日志。我把log4net从方程中拿出来,发现这个问题直接发生在EventLog类中,我最终找到了EventLog.CreateEventSource is not creating a custom log

我认为这也是Windows service always writes to custom log and application log背后的原因

票数 1
EN

Stack Overflow用户

发布于 2012-03-06 19:47:41

首先,我鼓励您打开内部调试,如ntcolonel发布的链接所示。将其添加到配置文件中:

代码语言:javascript
复制
<add key="log4net.Internal.Debug" value="true"/>

也许我没有完全理解您的问题,但我想确保您已经创建了这个附录,并正确地告诉log4net您想要实际使用该附录:

代码语言:javascript
复制
  <log4net debug="true">
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
  <file value="Logs\SomeApplication.xml"/>
  <appendToFile value="true"/>
  <rollingStyle value="Size"/>
  <countDirection value="1"/>
  <maxSizeRollBackups value="30"/>
  <maximumFileSize value="10MB"/>
  <staticLogFileName value="true"/>
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
  <layout type="log4net.Layout.XmlLayoutSchemaLog4j">
    <locationInfo value="true"/>
  </layout>
</appender>

<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
  <to value="SomeDistributionList@somehost.com"/>
  <from value="SomeApplication@somehost.com"/>
  <subject type="log4net.Util.PatternString" value="Some Application Error - %property{log4net:HostName}"/>
  <smtpHost value="smtp.somehost.com"/>
  <bufferSize value="1"/>
  <threshold value="ERROR"/>
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date %property{log4net:HostName} %logger %level %newline%newline%property{ExceptionThrottleInformation}%newline%newline%message%newline"/>
  </layout>
  <filter type="SomeNamespace.SomeSubNamespace.Log4Net.ExceptionThrottleFilter, SomeSubNamespace">
    <threshold value="10"/>
    <thresholdTimeoutSeconds value="60"/>
    <timeoutSecondsBetweenMessages value="600000"/>
    <exceptionText value="Timeout expired"/>
  </filter>
</appender>

<appender name="DatabaseAppender" type="SomeNamespace.SomeSubNamespace.DatabaseTraceAppender, SomeSubNamespace">
  <hoursToKeepInformationalTraces value="48"/>
  <hoursToKeepErrorTraces value="96"/>
  <threshold value="INFO"/>
</appender>

<root>
  <level value="INFO"/>
  <appender-ref ref="RollingFileAppender"/>
  <appender-ref ref="SmtpAppender"/>
  <appender-ref ref="DatabaseAppender"/>
</root>

注意,虽然我有多个附加器,但我引用根标记中调用的内容。因为您没有发布整个配置文件,所以很难判断所有的配置文件是否都符合它的要求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9589779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档