Asp.net core mvc Graylog未显示带有log4net和.NET核心应用程序的日志

Asp.net core mvc Graylog未显示带有log4net和.NET核心应用程序的日志,asp.net-core-mvc,log4net,graylog,Asp.net Core Mvc,Log4net,Graylog,我正在尝试使用Graylog v2.5配置.NET核心应用程序。我正在使用log4net来记录消息 我使用了以下配置来设置环境。我故意在WebAPI控制器中引发异常,以验证Graylog设置 <appender name="AsyncGelfUdpAppender" type="Gelf4Net.Appender.AsyncGelfUdpAppender, Gelf4Net"> <!-- Number of log lines to bu

我正在尝试使用Graylog v2.5配置.NET核心应用程序。我正在使用log4net来记录消息

我使用了以下配置来设置环境。我故意在WebAPI控制器中引发异常,以验证Graylog设置

<appender name="AsyncGelfUdpAppender" type="Gelf4Net.Appender.AsyncGelfUdpAppender, Gelf4Net">
<!-- Number of log lines to buffer for async send. Defaults to 10-->
<bufferSize value="20" />
<!-- Number of tasks to use for the async appender. 0 or fewer indicates one task per processor-->
<threads value="2" />
<remoteAddress value="127.0.0.1" />
<remotePort value="6789" />
<layout type="Gelf4Net.Layout.GelfLayout, Gelf4Net">
  <param name="AdditionalFields" value="app:AsyncUdpAppender,version:1.0,Environment:Dev,Level:%level" />
  <param name="Facility" value="RandomPhrases" />
  <param name="IncludeLocationInformation" value="true" />
  <param name="SendTimeStampAsString" value="true" />
</layout>


谁能告诉我我做错了什么?我需要做什么才能在Graylog界面中显示日志消息?我在哪里可以看到日志消息?我无法从Google获得任何帮助,而且我对Graylog非常陌生。

请确保您使用的是Graylog中的流设置所使用的规则

例如,在此流中,属性AppName必须与Graylog(MyAppName)中定义的名称完全匹配

另外,请确保您的计算机被授予在Graylog中写入该流的权限

解决方案1: 将字段添加到其他字段

 <log4net>
...
  <param name="AdditionalFields" value="app:DotnetcoreUdpAppender,version:1.0,Environment:Dev,AppName:MyAppName" />
                ...
 </log4net>

...
...
解决方案2:向数据对象添加字段:

protected static readonly ILog log = LogManager.GetLogger("GelfUdpAppender");

         Dictionary<string, string> logData = new Dictionary<string, string>
         {
            {"AppName", "MyAppName"}, // pass your property rule here
            {"Message", message},

         };
         log.Info(logData);
protected static readonly ILog=LogManager.GetLogger(“GelfUdpAppender”);
字典日志数据=新字典
{
{“AppName”,“MyAppName”},//在此处传递您的属性规则
{“消息”,消息},
};
日志信息(日志数据);

您是否也可以在log4net中添加一个控制台日志追加器,并检查是否记录了该异常
<log4net>
      <appender name="GelfUdpAppender" type="Gelf4Net.Appender.GelfUdpAppender, Gelf4Net.UdpAppender">
         <remoteAddress value="server-name" />
         <remotePort value="12201" />
         <layout type="Gelf4Net.Layout.GelfLayout, Gelf4Net.UdpAppender">
            <param name="AdditionalFields" value="app:DotnetcoreUdpAppender,version:1.0,Environment:Dev" />
            <param name="Facility" value="test" />
            <param name="IncludeLocationInformation" value="true" />
         </layout>
      </appender>
      <root>
         <level value="ALL" />
         <appender-ref ref="GelfUdpAppender" />
      </root>
   </log4net>