Xamarin表单使用Gelf4Net将日志发送到graylog

Xamarin表单使用Gelf4Net将日志发送到graylog,xamarin,xamarin.forms,log4net,Xamarin,Xamarin.forms,Log4net,我已经创建了控制台应用程序(.NetCore),添加了gelf4Net库,实现了解决方案,加载了配置,并可以将日志发送到graylog。日志存在于控制台、文件和服务器上 现在我需要在Xamarin表单应用程序中执行同样的操作(目前仅适用于android)。我添加了类库,安装了gelf4net库。我已经将config.xml作为嵌入式资源添加到Xamarin Forms项目中。我获取配置的内容并将其作为xml文件保存在外部存储器中 <?xml version="1.0" encoding="

我已经创建了控制台应用程序(.NetCore),添加了gelf4Net库,实现了解决方案,加载了配置,并可以将日志发送到graylog。日志存在于控制台、文件和服务器上

现在我需要在Xamarin表单应用程序中执行同样的操作(目前仅适用于android)。我添加了类库,安装了gelf4net库。我已经将config.xml作为嵌入式资源添加到Xamarin Forms项目中。我获取配置的内容并将其作为xml文件保存在外部存储器中

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
    </configSections>
    <log4net>
        <appender name="GelfHttpAppender" type="Gelf4Net.Appender.GelfHttpAppender, Gelf4Net">
            <url value="http://yourserver.com/gelf" />
            <threshold value ="INFO" />
            <layout type="Gelf4Net.Layout.GelfLayout, Gelf4Net">
                <param name="AdditionalFields" value="app:HttpAppender,Environment:LocalDevelop,Level:%level,HostName:tp" />
                <param name="Facility" value="TP" />
                <param name="IncludeLocationInformation" value="false" />
                <param name="SendTimeStampAsString" value="false"/>
            </layout>
        </appender>
        <appender name="ConsoleAppender" type="LoggerNetCoreEngine.CustomAppenders.ConsoleAppender_JSON, KC_LoggerNetCoreEngine">
            <threshold value ="ERROR" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
            </layout>
        </appender>
        <root>
            <appender-ref ref="GelfHttpAppender" />
            <appender-ref ref="ConsoleAppender" />
        </root>
    </log4net>
</configuration>
配置已成功加载,我在配置文件中所做的任何更改都会对应用程序行为产生影响

从调试控制台:

04-28 17:52:48.831 D/Mono    ( 4627): Loading reference 2 of /storage/emulated/0/Android/data/se.company.nameApp/files/.__override__/Gelf4Net.dll asmctx DEFAULT, looking for Gelf4Net.HttpAppender, Version=1.0.0.18, Culture=neutral, PublicKeyToken=b04c12492d51401e22
04-28 17:52:48.831 D/Mono    ( 4627): Assembly Ref addref Gelf4Net[0xebbccfe0] -> Gelf4Net.HttpAppender[0xebbcd0a0]: 2
04-28 17:52:48.831 D/Mono    ( 4627): Requesting loading reference 2 (of 8) of /storage/emulated/0/Android/data/se.company.nameApp/files/.__override__/Gelf4Net.HttpAppender.dll
04-28 17:52:48.831 D/Mono    ( 4627): Loading reference 2 of /storage/emulated/0/Android/data/se.company.nameApp/files/.__override__/Gelf4Net.HttpAppender.dll asmctx DEFAULT, looking for log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1af1a2a
04-28 17:52:48.831 D/Mono    ( 4627): Assembly Ref addref Gelf4Net.HttpAppender[0xebbcd0a0] -> log4net[0xebbcd340]: 3
04-28 17:52:48.832 D/Mono    ( 4627): Requesting loading reference 3 (of 8) of /storage/emulated/0/Android/data/se.company.nameApp/files/.__override__/Gelf4Net.HttpAppender.dll
04-28 17:52:48.832 D/Mono    ( 4627): Loading reference 3 of /storage/emulated/0/Android/data/se.company.nameApp/files/.__override__/Gelf4Net.HttpAppender.dll asmctx DEFAULT, looking for System.Net.Http, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7fwf11d50a3a
04-28 17:52:48.831 D/Mono    ( 4627): Loading reference 2 of /storage/emulated/0/Android/data/se.company.nameApp/files/.__override__/Gelf4Net.HttpAppender.dll asmctx DEFAULT, looking for log4net, Version=2.0.8.0, Culture=neutral04-28 17:52:48.832 W/Mono    ( 4627): The request to load the assembly System.Net.Http v4.1.1.0 was remapped to v4.0.0.0
04-28 17:52:48.832 D/Mono    ( 4627): Assembly Ref addref Gelf4Net.HttpAppender[0xebbcd0a0] -> System.Net.Http[0xcbb05140]: 3
最后,日志只出现在控制台中(我并没有在这里放代码,但它工作得很好)。有没有人知道如何使它也能够通过http工作,因为服务器上没有任何东西

04-28 17:52:48.831 D/Mono    ( 4627): Loading reference 2 of /storage/emulated/0/Android/data/se.company.nameApp/files/.__override__/Gelf4Net.dll asmctx DEFAULT, looking for Gelf4Net.HttpAppender, Version=1.0.0.18, Culture=neutral, PublicKeyToken=b04c12492d51401e22
04-28 17:52:48.831 D/Mono    ( 4627): Assembly Ref addref Gelf4Net[0xebbccfe0] -> Gelf4Net.HttpAppender[0xebbcd0a0]: 2
04-28 17:52:48.831 D/Mono    ( 4627): Requesting loading reference 2 (of 8) of /storage/emulated/0/Android/data/se.company.nameApp/files/.__override__/Gelf4Net.HttpAppender.dll
04-28 17:52:48.831 D/Mono    ( 4627): Loading reference 2 of /storage/emulated/0/Android/data/se.company.nameApp/files/.__override__/Gelf4Net.HttpAppender.dll asmctx DEFAULT, looking for log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1af1a2a
04-28 17:52:48.831 D/Mono    ( 4627): Assembly Ref addref Gelf4Net.HttpAppender[0xebbcd0a0] -> log4net[0xebbcd340]: 3
04-28 17:52:48.832 D/Mono    ( 4627): Requesting loading reference 3 (of 8) of /storage/emulated/0/Android/data/se.company.nameApp/files/.__override__/Gelf4Net.HttpAppender.dll
04-28 17:52:48.832 D/Mono    ( 4627): Loading reference 3 of /storage/emulated/0/Android/data/se.company.nameApp/files/.__override__/Gelf4Net.HttpAppender.dll asmctx DEFAULT, looking for System.Net.Http, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7fwf11d50a3a
04-28 17:52:48.831 D/Mono    ( 4627): Loading reference 2 of /storage/emulated/0/Android/data/se.company.nameApp/files/.__override__/Gelf4Net.HttpAppender.dll asmctx DEFAULT, looking for log4net, Version=2.0.8.0, Culture=neutral04-28 17:52:48.832 W/Mono    ( 4627): The request to load the assembly System.Net.Http v4.1.1.0 was remapped to v4.0.0.0
04-28 17:52:48.832 D/Mono    ( 4627): Assembly Ref addref Gelf4Net.HttpAppender[0xebbcd0a0] -> System.Net.Http[0xcbb05140]: 3