【发布时间】:2020-06-30 07:03:38
【问题描述】:
我对使用 Microsoft.Extensions.Logging 类登录项目感兴趣。
我搜索了大约 4 小时,看了一个大约 1 小时的教程,只是不知道如何在 C# 中实例化记录器(大多数教程使用 ASP.Net)
我尝试了什么:
var loggerFactory = LoggerFactory.Create(builder =>
{
builder
.AddConsole()
.AddEventLog();
});
ILogger logger = loggerFactory.CreateLogger<Form1>();
logger.LogInformation("Example log message");
此代码是从 Microsoft 网站复制的(稍作更改),它不会给我语法错误或警告,但它什么也不做。
我已经在这些链接上:
- https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-3.1
- https://docs.microsoft.com/en-us/archive/msdn-magazine/2016/april/essential-net-logging-with-net-core
- https://www.tutorialsteacher.com/core/fundamentals-of-logging-in-dotnet-core
- https://www.tutorialsteacher.com/core/aspnet-core-logging 还有更多
我尝试在 Winforms 应用程序中执行此操作
也许你已经在 C# 和 .net Core 中做过类似的事情。
谢谢
【问题讨论】:
-
您可以使用通用主机设置依赖注入,然后获得一个作用域
ILogger<T>。 -
你试过
AddDebug()看看有没有效果? -
换句话说,你怎么知道“它什么都不做”?你在哪里查的?控制台在 winforms 应用程序中不可用,并且 Windows 事件日志中的消息可能很难找到。但是visual studio会在输出窗口中显示调试信息。
-
@MikeNakis 是的,我做到了,但我没有得到任何输出。
-
好吧,这是我的两分钱:我不使用日志库。记录只是比琐碎稍微复杂一些,所以很容易自己做,而我对记录库的经验是,它们总是需要太多的故障排除和困惑,为什么它们不值得他们节省的麻烦你。在这些库中,他们故意遵循“我们从不产生错误”的原则,这意味着几乎不可能对它们进行故障排除。这是一个蹩脚的学说。当某些东西不起作用时,我想查看错误。很多错误。
标签: c# winforms logging .net-core