相关疑难解决方法(0)

log4net smtp appender不发送电子邮件

我正在尝试实现log4net来发送电子邮件.
以下是我的代码,但它不是发送电子邮件.

 <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
  <to value="...." />
  <from value="..." />
  <subject value="Logging Message" />
  <smtpHost value="smtp.gmail.com" />
  <port value="465"/>
  <authentication value="Basic" />
  <username value="..."/>
  <password value="..."/>
  <EnableSsl value="true" />
  <bufferSize value="1" />
  <lossy value="true" />
  <evaluator type="log4net.Core.LevelEvaluator">
    <threshold value="WARN"/>
  </evaluator>
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %level %logger - %message%newline%exception" />
  </layout>
</appender>
Run Code Online (Sandbox Code Playgroud)

<root>
  <level value="WARN" />
  <appender-ref ref="SmtpAppender" />
</root>
Run Code Online (Sandbox Code Playgroud)

在AssemblyInfo.cs中

 [assembly: log4net.Config.XmlConfiguratorAttribute(Watch = true)]
Run Code Online (Sandbox Code Playgroud)

这就是我创建日志对象的方式

  private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Run Code Online (Sandbox Code Playgroud)

此配置适用于文件输出,即RollingFileAppender,但不适用于SmtpAppender.

我已经从互联网上尝试了很多解决方案,但并没有真正的帮助.

请告诉我正确的方向.谢谢你提前:)

c# log4net smtpappender

10
推荐指数
1
解决办法
2万
查看次数

log4net 2.0.8 nuget中缺少SmtpAppender吗?

我为.NET Core 2.0创建了一个控制台应用程序,并安装了log4net 2.0.8 nuget

我想使用SmtpAppender,但库中不存在

这是我的log4net配置

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
   <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
    <to value="test@test.com" />
    <from value="test@test.com" />
    <subject type="log4net.Util.PatternString" value="Message logged" />
    <smtpHost value="localhost" />
    <authentication value="None" />
    <port value="25" />
    <bufferSize value="1" />
    <lossy value="false" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%utcdate [%level] - %message%newline%exception" />
    </layout>
  </appender>
  <root>
    <level value="All" />
    <appender-ref ref="SmtpAppender" />
  </root>
</log4net>
Run Code Online (Sandbox Code Playgroud)

这是Program.cs

namespace Log4NetTest
{
    public class Program
    {
        private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(Program));

        static void Main(string[] args)
        { …
Run Code Online (Sandbox Code Playgroud)

c# log4net .net-core .net-core-2.0

5
推荐指数
1
解决办法
551
查看次数

标签 统计

c# ×2

log4net ×2

.net-core ×1

.net-core-2.0 ×1

smtpappender ×1