.NETCore2.2WebAPI日志记录

.NETCore2.2WebAPI日志记录,.net,.net-core,.net,.net Core,我有一个基本的WebAPI.NET Core 2.2项目,我正在尝试记录一些东西: // GET api/values [HttpGet] public ActionResult<IEnumerable<string>> Get() { System.Diagnostics.Trace.WriteLine("THIS IS A TEST"); System.Diagnostics.Debug.WriteLine("T

我有一个基本的WebAPI.NET Core 2.2项目,我正在尝试记录一些东西:

// GET api/values
    [HttpGet]
    public ActionResult<IEnumerable<string>> Get()
    {
        System.Diagnostics.Trace.WriteLine("THIS IS A TEST");
        System.Diagnostics.Debug.WriteLine("THIS IS A TEST");
        return new string[] { "value1", "value2" };
    }
//获取api/值
[HttpGet]
公共行动结果获取()
{
System.Diagnostics.Trace.WriteLine(“这是一个测试”);
System.Diagnostics.Debug.WriteLine(“这是一个测试”);
返回新字符串[]{“value1”,“value2”};
}
不幸的是,我的输出或控制台中没有显示任何内容。我正在使用VisualStudio代码。这是我的第一个.NET项目,所以不要犹豫问任何问题,我的反应非常迅速

更新
我刚下载,我可以看到我记录的东西。仍然在寻找一种不依赖于下载工具的替代解决方案,因为日志记录非常基本。

对于日志记录,您可以使用NLog.Web.AspNetCore包。有关更多详细信息,请参阅以下链接:


谢谢。

ASP.NET Core内置了对日志记录的支持,并允许开发人员轻松利用他们首选的日志记录框架。 日志记录服务与日志记录提供程序一起工作,日志记录提供程序将日志存储或显示到特定介质,如控制台、调试、跟踪侦听器。例如:控制台提供程序在控制台上显示日志,azure application insightt提供程序将日志存储在azure application insights中,类似地,我们还有更多的提供程序,如Nlog等

现在只需登录到您的控制台

步骤1:在您的案例中添加一个提供者,即控制台。 在你的program.cs主方法之后粘贴这个

public static void Main(string[] args)
{
    var host = CreateWebHostBuilder(args).Build();

    var todoRepository = host.Services.GetRequiredService<ITodoRepository>();
    todoRepository.Add(new Core.Model.TodoItem() { Name = "Feed the dog" });
    todoRepository.Add(new Core.Model.TodoItem() { Name = "Walk the dog" });

    var logger = host.Services.GetRequiredService<ILogger<Program>>();
    logger.LogInformation("Seeded the database.");

    host.Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .ConfigureLogging(logging =>
        {
            logging.ClearProviders();
            logging.AddConsole(); \\adding to console
        });
在上面的方法中,我们使用的是指定程序正确结束的信息级别日志


希望这有帮助。

你可以看看@OlegI我似乎不知道如何添加一个侦听器。我尝试添加以下内容:TextWriterTraceListener writer=newtextWriterTraceListener(System.Console.Out);Debug.Listeners.Add(writer);但它抱怨“Debug”没有包含“Listeners”的定义。你知道吗?但你并没有把它输出到
控制台
。您正在输出到
跟踪
调试
。这些是不同的。这就是为什么您可以在DebugView中看到它。如果需要的话,试试控制台。WriteLine
或其他东西quick@AndreyBorisko我尝试了
Console.WriteLine(“测试”)但我仍然无法在屏幕上看到它console@sbattoh我觉得这就是你要找的
public class AboutModel
{
    private readonly ILogger _logger;

    public AboutModel(ILogger<AboutModel> logger)
    {
        _logger = logger;
    }
}
public void OnGet()
    {
    Message = $"About page visited at {DateTime.UtcNow.ToLongTimeString()}";
    _logger.LogInformation("Message displayed: {Message}", Message);
    }