【问题标题】:AspNet Core Log4Net Proxy SyslogAspNet Core Log4Net 代理系统日志
【发布时间】:2020-12-04 09:41:09
【问题描述】:

我在 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>

【问题讨论】:

    标签: c# asp.net-core log4net log4net-configuration


    【解决方案1】:

    尝试使用此配置

    <appender name="UdpAppender" type="log4net.Appender.UdpAppender">
          <param name="RemoteAddress" value="127.0.0.1" />
          <param name="RemotePort" value="514" />
          <layout type="log4net.Layout.PatternLayout, log4net">
            <conversionPattern value="%-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
    </appender>
    

    【讨论】:

    • 这不是通过http代理发送日志的方式,但它毕竟是发送日志到Papertrail。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2018-04-14
    • 2015-08-20
    • 1970-01-01
    • 2014-04-30
    • 2013-01-03
    • 1970-01-01
    • 2011-07-25
    • 2011-06-18
    相关资源
    最近更新 更多