AspNet核心Log4Net代理系统日志

问题描述

我正在net core应用程序中使用log4net。但是我不知道如何通过http代理发送日志。我的项目中有一个远程系统日志附加程序。

任何建议/指导如何设置代理服务器。

    public class Program
{
    private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
    public static void Main(string[] args)
    {
        var webProxy = new WebProxy("http://my.proxy.com:8080");
        webProxy.UseDefaultCredentials = true;

        var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
        XmlConfigurator.Configure(logRepository,new FileInfo("log4net.config"));
        log.Info("TEST");
    }
}

log4net.config

<log4net>
    <appender name="PapertrailRemoteSyslogAppender" type="log4net.Appender.RemoteSyslogAppender">
        <facility value="Local6" />
        <identity value="%date{yyyy-MM-ddTHH:mm:ss.ffffffzzz} %P{log4net:HostName} MYSUPERAPP" />
        <layout type="log4net.Layout.PatternLayout" value="%level - %message%newline" />
        <remoteAddress value="logs123.papertrailapp.com" />
        <remotePort value="123456" />
    </appender>
    <root>
        <level value="INFO" />
        <appender-ref ref="PapertrailRemoteSyslogAppender" />
    </root>
</log4net>

csproj:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <AssemblyName>MySuperApp</AssemblyName>
  </PropertyGroup>

  <ItemGroup>
    <packagereference Include="log4net" Version="2.0.8" />
  </ItemGroup>
  <ItemGroup>
    <Content Update="log4net.config">
      <copyToOutputDirectory>Always</copyToOutputDirectory>
    </Content>
  </ItemGroup>
</Project>

解决方法

尝试使用此配置

staff