我有一个现有的应用程序,它将我当前需要的所有信息记录到日志文件中(log4net.Appender.RollingFileAppender)
public static readonly ILog GeneralLogger = LogManager.GetLogger("GeneralLogger");
在下面的代码中使用:
GeneralLogger.Info("A log entry");
现在我希望在不更改我的应用程序代码的情况下添加另一个appender,同时将这些相同的日志条目发送到SignalR(log4net.SignalR.SignalrAppender)
我想我会尝试做以下事情:
<log4net>
<appender name="GeneralLogAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs\general_" />
<appendToFile value="true" />
<staticLogFileName value="false" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.log'" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level - %message%newline" />
</layout>
</appender>
<appender name="GeneralLogSignalRAppender" type="log4net.SignalR.SignalrAppender, log4net.SignalR">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level - %message%newline" />
</layout>
</appender>
<logger name="GeneralLogger">
<level value="ALL" />
<appender-ref ref="GeneralLogAppender" />
<appender-ref ref="GeneralLogSignalRAppender" />
</logger>
</log4net>
但我没有得到任何数据记录到SignalR?有人可以告诉我,至少我的配置的这部分是否正确(关于添加多个日志追加器)
由于
答案 0 :(得分:0)
<强>分辨强>
上面的配置确实是正确的。值得注意以备将来使用:)
事实证明,记录失败的原因是我使用的追加者(Chris Strongstow和/或Matthew Steeples的 log4net.SignalR appender ,即使在Nuget中也有两个相同!) - 它需要进行一些调整才能正常工作并且文档很少。
如果有人需要帮助,我很乐意提供帮助。