【发布时间】:2020-07-24 11:24:13
【问题描述】:
我正在尝试学习并在 c# winforms 应用程序中实现日志记录。
在大多数/所有示例和文档中,我发现他们使用.AddConsole(),这为我提供了以下错误:
“ILoggingBuilder”不包含 AddConsole 的定义,也没有可访问的扩展方法“Add Console”...
我当前的代码如下:
using Microsoft.Extensions.DependencyInjection; //<-----was suggested in an example but does nothing--<<<<
using Microsoft.Extensions.Logging;
public partial class FormMain : Form
{
public FormMain()
{
var loggerFactory = LoggerFactory.Create(builder =>
{
builder
.AddFilter("Microsoft", LogLevel.Warning)
.AddFilter("System", LogLevel.Warning)
.AddFilter("LoggingConsoleApp.Program", LogLevel.Debug)
.AddConsole() //<-----------------------line with error---------<<<<
.AddEventLog();
});
ILogger logger = loggerFactory.CreateLogger<FormMain>();
logger.LogInformation("Example log message");
InitializeComponent();
...rest of program follows...
您能帮忙指出如何编译示例代码吗?
如果您有指向我可以关注的教程/文档的链接,我也将不胜感激。
我在 Microsoft Docs 中看到有一个 ILoggerFactory.AddProvider(ILoggerProvider) 方法,但我也没有成功。
感谢您的宝贵时间。
【问题讨论】:
-
你添加了
Microsoft.Extensions.Logging.Consolenuget 包吗? -
@pinkfloydx33 不,我没有。谢谢你的澄清。现在可以了。我希望该示例的文档中提到了这一点。