Mir*_*rek 5 c# log4net .net-core .net-core-2.0
我为.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)
{
XmlDocument log4netConfig = new XmlDocument();
log4netConfig.Load(File.OpenRead("log4net.config"));
var repo = log4net.LogManager.CreateRepository(Assembly.GetEntryAssembly(),
typeof(log4net.Repository.Hierarchy.Hierarchy));
log4net.Config.XmlConfigurator.Configure(repo, log4netConfig["log4net"]);
log.Info("TEST INFO LOG");
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行该应用程序时,我希望一封包含“ TEST INFO LOG”消息的电子邮件发送到localhost,但是log4net会将其输出到控制台:
log4net:ERROR Could not create Appender [SmtpAppender] of type [log4net.Appender.SmtpAppender]. Reported error follows.
System.TypeLoadException: Could not load type 'log4net.Appender.SmtpAppender' from assembly 'log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a'.
at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type, ObjectHandleOnStack keepAlive)
at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(XmlElement appenderElement)
log4net:ERROR Appender named [SmtpAppender] not found.
Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)
SmtpAppender类型甚至没有出现在对象浏览器中。有SmtpPickupDirAppender,但这不是我想要使用的。
我想念什么吗?经过一番搜索,我没有发现任何人遇到过此问题,log4net 2.0.8已有7个月的历史,并且下载了milion次。
小智 3
由于.Net Core 不支持内置的 SmtpAppender ,因此您可以轻松地为 Log4Net 创建自己的自定义 SMTP 附加程序。看一眼
https://github.com/HatfieldConsultants/Log4Net.Core.CustomAppenders
作为如何构建非常基本的 SMTP 附加程序的示例。
归档时间: |
|
查看次数: |
551 次 |
最近记录: |