[英]how to add rollbar appender to log4net
I have a .net core web api that logs errors using log4net.我有一个 .net 核心 web api,它使用 log4net 记录错误。 I have both a console appender and a file appender and now want to integrate rollbar logging.
我有一个控制台 appender 和一个文件 appender,现在想要集成滚动条日志记录。
Rollbar has a custom appender in their plugin package for log4net so I tried addding in the appender in my configuration file for log4net but I'm not seeing any logs on Rollbar. Rollbar 在他们的 log4net 插件包中有一个自定义 appender,所以我尝试在我的 log4net 配置文件中添加 appender,但我没有在 Rollbar 上看到任何日志。 I am able to call Rollbars logger directly and am able to see logs in the rollbar UI.
我能够直接调用 Rollbars 记录器,并且能够在 rollbar UI 中查看日志。
I've added my project token to Rollbar:我已将我的项目令牌添加到 Rollbar:
RollbarLocator.RollbarInstance.Configure(
new RollbarConfig("MY_PROJECT_TOKEN"));
And this works just fine to send logs to Rollbar: RollbarLocator.RollbarInstance.Logger.Error("direct logging with rollbar");
这很好地将日志发送到 Rollbar:
RollbarLocator.RollbarInstance.Logger.Error("direct logging with rollbar");
But now I want logging to appear in Rollbar using log4net so I added the Rollbar appender to the log4net config like to:但是现在我希望使用 log4net 将日志记录显示在 Rollbar 中,因此我将 Rollbar appender 添加到 log4net 配置中,如下所示:
<appender name="RollbarAppender" type="Rollbar.PlugIns.Log4net.RollbarAppender, Rollbar.Plugins.Log4net">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="RollingFileAppender" />
<appender-ref ref="RollbarAppender" />
</root>
<logger name="Microsoft.AspNetCore" additivity="false">
<level value="ERROR" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="RollingFileAppender" />
<appender-ref ref="RollbarAppender" />
</logger>
<logger name="Microsoft.AspNetCore.Hosting.Internal.WebHost" additivity="false">
<level value="INFO" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="RollbarAppender" />
</logger>
I've also tried to add programmatically:我还尝试以编程方式添加:
var appender = new Rollbar.PlugIns.Log4net.RollbarAppender(
new RollbarConfig("MY_PROJECT_TOKEN"),
TimeSpan.MaxValue);
((log4net.Repository.Hierarchy.Logger) Log.Logger).AddAppender(appender);
I'm not getting any errors at startup so the appender appears to load just just fine but I'm still not seeing anything logged to Rollbar when I log using log4net.我在启动时没有收到任何错误,因此 appender 似乎加载得很好,但是当我使用 log4net 登录时,我仍然没有看到任何记录到 Rollbar 的内容。
All you need to do is to make sure the RollbarAppender is added to your log4net.config, for example:您需要做的就是确保将 RollbarAppender 添加到您的 log4net.config 中,例如:
<appender name="rollbar" type="Rollbar.PlugIns.Log4net.RollbarAppender, Rollbar.PlugIns.Log4net">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %level %logger - %message%newline" />
</layout>
</appender>
AND make sure you Rollbar config file appsettings.json
(side-by-side with log4net.log) containing Rollbar specific configuration setting:并确保您的 Rollbar 配置文件
appsettings.json
(与 log4net.log 并排)包含 Rollbar 特定的配置设置:
{
"Rollbar": {
"AccessToken": "NNNNNNNNNNNNNNNNNNNNN",
"Environment": "RollbarNetSamples",
"Enabled": true,
"MaxReportsPerMinute": 30,
"ReportingQueueDepth": 120,
"LogLevel": "Debug",
"ScrubFields": [
"ThePassword",
"TheSecret"
],
"Person": {
"UserName": "jbond",
"id": "JBOND"
},
"PersonDataCollectionPolicies": "Username, Email",
"IpAddressCollectionPolicy": "CollectAnonymized"
},
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.