.NET Core 实现日志打印输出在控制台应用程序中

这篇具有很好参考价值的文章主要介绍了.NET Core 实现日志打印输出在控制台应用程序中。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在本文中,我们将探讨如何在 .NET Core 应用程序中将日志消息输出到控制台,从而更好地了解应用程序的运行状况。

.NET Core 实现日志打印输出在控制台应用程序中

在 .NET Core 中,日志输出打印是使用 Microsoft.Extensions.Logging 命名空间中的类和方法实现的。首先,我们需要确保在项目中添加了以下必要的依赖包:

  • Microsoft.Extensions.Configuration: 用于读取配置文件。
  • Microsoft.Extensions.Configuration.Json: 用于从 JSON 文件加载配置。
  • Microsoft.Extensions.DependencyInjection: 用于依赖注入。
  • Microsoft.Extensions.Logging: 用于日志记录。
  • Microsoft.Extensions.Logging.Console: 用于在控制台中输出日志。

现在,让我们来看一下如何在 .NET Core 控制台应用程序中实现日志输出打印

步骤 1:读取配置文件

首先,我们需要读取配置文件,以便配置日志。在示例中,我们将使用 appsettings.json 文件来配置日志级别。如下代码:

var config = new ConfigurationBuilder()
    .SetBasePath(AppContext.BaseDirectory)
    .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
    .Build();

步骤 2:配置日志

接下来,我们需要配置日志以指定日志级别和输出目标。在示例中,我们将配置日志以将日志消息输出到控制台。如下代码:

var serviceProvider = new ServiceCollection()
    .AddLogging(builder =>
    {
        builder.AddConfiguration(config.GetSection("Logging"));
        builder.AddConsole();
    })
    .BuildServiceProvider();

步骤 3:获取日志记录器

一旦配置了日志,我们可以通过依赖注入来获取日志记录器,然后使用该记录器来记录不同级别的日志消息。如下代码:

var logger = serviceProvider.GetRequiredService<ILogger<Program>>();

步骤 4:记录日志消息

现在,我们可以使用获得的日志记录器来记录不同级别的日志消息。如下代码:

logger.LogInformation($"hello .net core");
logger.LogError($"error message!!!");

完整示例

下面是将上述步骤整合在一起的完整示例代码:

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System;

class Program
{
    static void Main(string[] args)
    {
        var config = new ConfigurationBuilder()
            .SetBasePath(AppContext.BaseDirectory)
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
            .Build();

        var serviceProvider = new ServiceCollection()
            .AddLogging(builder =>
            {
                builder.AddConfiguration(config.GetSection("Logging"));
                builder.AddConsole();
            })
            .BuildServiceProvider();

        var logger = serviceProvider.GetRequiredService<ILogger<Program>>();

        logger.LogInformation($"hello .net core");
        logger.LogError($"error message!!!");

        // 其他代码...
    }
}

配置 appsettings.json

在示例中,我们在 appsettings.json 文件中配置了日志级别。确保您的 appsettings.json 文件类似于以下内容:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information"
    }
  },
  "MyAppSettings": {
    "Setting1": "Value1",
    "Setting2": "Value2"
  }
}

如图所示:

.NET Core 实现日志打印输出在控制台应用程序中,C#,.NET Core,.netcore

在上述代码中,我们首先读取配置文件,然后配置了日志记录,使其输出到控制台。我们使用 AddLogging 方法和 AddConsole 提供程序将日志配置到控制台输出。

运行应用程序

运行应用程序后,您将在控制台窗口中看到类似以下内容的日志消息:

info: Program[0]
      Hello .NET Core
fail: Program[0]
      Error message!

如此一来,您的应用程序就能够在控制台中输出日志消息了。

总结

在 .NET Core 中,实现日志记录并将日志消息输出到控制台是一项关键的任务,有助于监控应用程序的状态和运行状况。通过配置日志提供程序和使用 ILogger 接口,您可以在应用程序中捕获各种级别的日志消息,包括信息性消息和错误消息。这使得您可以更好地理解和追踪应用程序的运行,更快地发现和解决问题。始终牢记,良好的日志记录实践是构建健壮应用程序的关键一步。文章来源地址https://www.toymoban.com/news/detail-670436.html

到了这里,关于.NET Core 实现日志打印输出在控制台应用程序中的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mybatis plus 控制台和日志文件中打印sql配置

    配置mybatis-plus的日志实现类为StdOutImpl,该实现类中打印日志是通过 System.out.println(s) 的方式来打印日志的 日志文件中输入sql需要配置mybatis-plus的日志类为项目中的日志框架实现类,还需要配置mapper接口所在包的日志打印级别为 DEBUG或者TRACE,mybatis提供了log4j、slf4g等实现 经测

    2024年02月11日
    浏览(51)
  • idea在控制台输出debug日志方法

    控制台输出效果如图 方法如下 1.在pom.xml文件中添加如下坐标 2.如果如下报错 则在main/resource下添加log4j.properties文件

    2024年02月20日
    浏览(53)
  • .net core控制台应用程序在linux运行

    1)创建.net 6.0控制台应用程序 2)在应用根目录执行cmd命令发布应用:dotnet publish -o .deploy 3)将发布文件上传到服务器    4)运行控制台应用程序(dotnet /home/app/ConsoleApp/ConsoleApp5.dll) 5)如果需要定时执行,可以添加sh文件 参考:linux定时备份(删除)mysql_linux数据库定时备

    2024年02月16日
    浏览(42)
  • rust使用print控制台打印输出五颜六色的彩色红色字体

    想要在控制台打印输出彩色的字体,可以使用一些已经封装好的依赖库,比如ansi_term这个依赖库,官方依赖库地址:https://crates.io/crates/ansi_term 安装依赖: 或者在Cargo.toml文件中加入:  使用 ansi_term ,我们可以很容易地在Rust中使用彩色文本。下面是一个简单的示例代码: 输

    2024年04月09日
    浏览(47)
  • log4j控制台不打印日志的故障解决方案

    接管了别的项目组的一个代码,在IDAE调试程序的过程中,发现log4j日志居然没有打印在控制台上,日志相关代码也没有问题。 在网上搜索了一圈,总结了一下个人解决这个问题的流程。 1. 判断用了什么配置文件 不知道是出于什么目的,项目中居然有log4j的properties和xml两个配

    2024年02月04日
    浏览(48)
  • Logback日志记录只在控制台输出sql,未写入日志文件【解决】

    原因:持久层框架对于Log接口实现方式不一样,日记记录的位置及展示方式也也不一样 可以分别配置到两个环境中,dev用StdOutImpl,prod用Slf4jImpl或者其他的都行,具体需要看他是如何实现的,使用logger对象输出的都是会写入日志的,使用System.out或err的只会在控制台显示,以下是实验

    2024年02月09日
    浏览(47)
  • IntelliJ IDEA 中的控制台输出日志中文乱码之解决办法

    IntelliJ IDEA 中的控制台输出日志中文乱码通常是由于控制台使用的默认字符编码与系统不匹配所致。要解决这个问题,请尝试以下方法: 打开 IntelliJ IDEA, 在顶部菜单栏查看 Run/Debug Configurations 列表。这是您项目中所使用的配置列表。 选择您要修改的 Run/Debug Configuration。如果有

    2024年02月08日
    浏览(52)
  • Eclipse控制台输出log4j日志乱码解决

    1. 出现乱码可能是编码格式对应不起来,主要是Eclipse控制台编码和log4j编码的匹配 log4j.properties      主要是查看这两个地方编码一致不一致,如果不一致则手动更改成一致编码,GBK或UTF-8

    2024年02月15日
    浏览(46)
  • windows下tomcat控制台按天输出catalina.out日志

    windows服务器情况下,无法和linux服务器一样,启动web服务之后,直接tail查看日志,而windwos控制台的输出空间有限,如果遇到大量错误的情况下,console日志刷新太快,无法看到首次错误是在哪里出现的,会产生很多不必要的麻烦,所以从网上查找了windows控制台信息输出到文件

    2024年02月05日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包