gpt4 book ai didi

c# - System.Diagnostic.Debug.WriteLine 在 ASP.NET 5 Web API 中不起作用

转载 作者:行者123 更新时间:2023-11-30 23:30:48 27 4
gpt4 key购买 nike

环境

我正在 Mac 上使用 ASP.NET 5 1.0.0-rc1-update1 和 Visual Studio Code 编写 Web API。我使用 Yeoman generator-aspnet 构建了默认的 Web API 应用程序。我正在使用 DNX Mono 通过默认的 web 命令运行应用程序。

System.Diagnostics.Debug 缺少输出

我想将调试输出记录到终端或 Visual Studio 代码输出。我尝试使用 System.Diagnostics.Debug 类这样做,但上面的代码产生零输出。

System.Disagnostics.Debug.WriteLine("This is your message");

我错过了什么?我是否需要在某处声明 DEBUG 符号才能查看调试输出?

Microsoft.Extensions.Logging.Debug.DebugLogger 中缺少

我也试过DebugLoggerMicrosoft.Extensions.Logging.Debug 包提供,但没有成功。我认为这是有道理的,因为它是 System.Diagnostics.Debug 之上的包装器。我的 Startup.cs 配置如下:

public void Configure(IApplicationBuilder app, 
IHostingEnvironment env,
ILoggerFactory loggerFactory)
{
loggerFactory.AddDebug(LogLevel.Debug);

// Configuring other middleware
}

我在我的 Controller 中创建了ILogger,如下所示:

public ProductsController(ILoggerFactory logFactory)
{
_logger = logFactory.CreateLogger(nameof(ProductsController));
}

并使用ILogger如下:

public IActionResult Ping()
{
_logger.LogDebug("Debug message");
}

最佳答案

你必须添加一个TraceListener,

TextWriterTraceListener writer = new TextWriterTraceListener(System.Console.Out);
Debug.Listeners.Add(writer);

此外,在 Visual Studio 项目属性中设置 DEBUG 标志

关于c# - System.Diagnostic.Debug.WriteLine 在 ASP.NET 5 Web API 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34844943/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com