我找到了以下项目(https://github.com/antonsamarsky/log4net.Raven),它启用了一个log4net appender到RavenDb。
我已经导入了nuget包并配置了我的App.config文件,如下所示:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<connectionStrings>
<add name="RavenLogs" connectionString="Url = http://localhost:8080; DefaultDatabase=MyLog"/>
</connectionStrings>
<log4net>
<appender name="RavenAppender" type="log4net.Raven.RavenAppender, log4net.Raven">
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<levelMax value="FATAL" />
</filter>
<connectionString value="RavenLogs"/>
<maxNumberOfRequestsPerSession value="100"/>
<bufferSize value="50" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="ERROR" />
</evaluator>
</appender>
</log4net>
<root>
<level value="INFO" />
<appender-ref ref="RavenAppender" />
</root>
除了在GitGub上导入nuget和配置之外,没有任何文档。当我运行我的程序时,我没有收到任何错误,但我也没有在RavenDb服务器上看到任何内容。
我甚至尝试在RavenDb上自己创建MyLog数据库,以防appender没有自动创建它 - 仍然没有。
任何人都知道如何使用这个appender?
答案 0 :(得分:1)
您的配置中有LevelEvaluator
,只有在日志事件的级别等于或超过配置级别时才会触发。程序中是否会出现错误?
设置log4net时,在工作配置旁边设置一个简单的FileAppender
,这样您就可以轻松查看应该/想要在真实日志中看到的数据。对于你所知道的所有你忘记配置log4net框架,FileAppender
将作为一种简单的方法来查看是否存在问题。从RavenDB appender中删除过滤器和评估程序,并在检查一切是否正常后将其添加回来
Jeroen关于设置内部调试器的评论是另一种方法,但可能不是配置问题所必需的。