iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >ASP.NET Core怎么添加记录日志
  • 864
分享到

ASP.NET Core怎么添加记录日志

2023-06-29 21:06:09 864人浏览 安东尼
摘要

这篇文章主要介绍了asp.net Core怎么添加记录日志的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ASP.net Core怎么添加记录日志文章都会有所收获,下面我们一起来看看吧。1.前

这篇文章主要介绍了asp.net Core怎么添加记录日志的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ASP.net Core怎么添加记录日志文章都会有所收获,下面我们一起来看看吧。

1.前言

ASP.net core支持适用于各种内置和第三方日志记录提供应用程序的日志记录api

2.添加日志提供程序

日志记录提供应用程序显示或存储日志。例如,控制台提供应用程序在控制台上显示日志,Azure Application Insights提供应用程序将这些日志存储在Azure Application Insights中。要添加提供应用程序,请在Program.cs中调用提供程序的Add{provider name}扩展方法:

public static void Main(string[] args){    var WEBHost = new WebHostBuilder()        .UseKestrel()        .UseContentRoot(Directory.GetCurrentDirectory())        .ConfigureAppConfiguration((hostinGContext, config) =>        {            var env = hostingContext.HostingEnvironment;            config.AddJSONFile("appsettings.json", optional: true, reloadOnChange: true)                  .AddJsonFile($"appsettings.{env.EnvironmentName}.json",                      optional: true, reloadOnChange: true);            config.AddEnvironmentVariables();        })        .ConfigureLogging((hostingContext, logging) =>        {            //添加appsettings.json中关于日志的Logging节点配置            logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));            //日志控制台记录提供程序            logging.AddConsole();            //日志Debug记录提供程序logging.ADDDebug();            //日志EventSource记录提供程序logging.AddEventSourceLogger();        })        .UseStartup<Startup>()        .Build();    webHost.Run();}

默认项目模板调用CreateDefaultBuilder,该操作将添加日志记录(控制台、DEBUG、EventSource)提供给应用程序:

public static void Main(string[] args){    CreateWebHostBuilder(args).Build().Run();}public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>    WebHost.CreateDefaultBuilder(args)        .UseStartup<Startup>();

3.创建日志

创建日志可以从依赖注入(DI)中获取ILogger<TCateGoryName>对象。以下Razor页面示例会创建级别为InfORMation且类别为AboutModel类(Models/AboutModel)的日志:

public class AboutModel{    private readonly ILogger _logger;    public AboutModel(ILogger<AboutModel> logger) {    //ILogger是Core内置日志组件,默认已经注入,无需再次手动注入        _logger = logger;    }    public void OnGet()    {        var Message = $"About page visited at {DateTime.UtcNow.ToLongTimeString()}";        _logger.LogInformation("Message displayed: {Message}", Message);    }}private readonly ILogger<AboutModel> _logger;public HomeController(ILogger<AboutModel> logger){    _logger = logger;}public IActionResult Index(){    AboutModel aboutModel = new AboutModel(_logger);    aboutModel.OnGet();    return View();}

通过Kestral服务器启动调试:

ASP.NET Core怎么添加记录日志

看看控制台输出日志记录:

ASP.NET Core怎么添加记录日志

日志“级别”代表所记录事件的严重程度。日志“类别”是与每个日志关联的字符串。ILogger<T>实例会创建“类别”为类型T的完全限定名称的日志。

3.1启动时(Startup)创建日志

要将日志写入Startup类,构造函数签名需包含ILogger参数:

public class Startup{    private readonly ILogger _logger;    public Startup(IConfiguration configuration, ILogger<Startup> logger)    {        Configuration = configuration;        _logger = logger;    }    public IConfiguration Configuration { get; }    public void ConfigureServices(IServiceCollection services)    {        _logger.LogInformation("Added TodoRepository to services");    }    public void Configure(IApplicationBuilder app, IHostingEnvironment env)    {        if (env.IsDevelopment())        {            _logger.LogInformation("In Development environment");        }    }}

通过Kestral服务器启动调试看看控制台输出日志记录:

ASP.NET Core怎么添加记录日志

3.2在程序中(Program)创建日志

如果使用CreateDefaultBuilder,则可自行选择提供应用程序来替换默认应用程序。调用 ClearProviders,然后添加所需的应用程序。

public class Program{    public static void Main(string[] args)    {        var host = CreateWebHostBuilder(args).Build();        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();    });}

通过Kestral服务器启动调试看看控制台输出日志记录:

ASP.NET Core怎么添加记录日志

4.Configuration

日志记录提供程序配置由一个或多个配置提供程序提供:

  • 文件格式(INI、JSON 和 XML)。

  • 命令行参数。

  • 环境变量。

  • 内存中的.NET对象。

  • 未加密的机密管理器存储。

  • 加密的用户存储,如 Azure Key Vault。

  • (已安装或已创建的)自定义提供程序。

例如,日志记录配置通常由应用设置文件的Logging部分提供。以下示例显示了典型 appsettings.Development.json 文件的内容:

{  "Logging": {    "LogLevel": {      "Default": "Debug",      "System": "Information",      "Microsoft": "Information"    },    "Console":    {      "IncludeScopes": true    }  }}

Logging属性可具有LogLevel和日志提供程序属性(显示控制台)。Logging下的LogLevel属性指定了用于记录所选类别的最低级别。在本例中,System和Microsoft类别在Information级别记录,其他均在Debug级别记录。如果提供程序支持日志作用域,则IncludeScopes将指示是否启用这些域。

5.日志级别

每个日志都指定了一个LogLevel值。日志级别指示严重性或重要程度。如果LogLevel是Warning级别,那么跟踪Trace,Debug,Information级别将不会记录。ASP.net core 定义了以下日志级别(按严重性从低到高排列): 

  • 跟踪Trace = 0

  • 调试Debug = 1

  • 信息 Information = 2

  • 警告 Warning = 3

  • 错误 Error = 4

  • 严重 Critical = 5

6.内置日志记录提供程序

  • 控制台:logging.AddConsole(); dotnet run 查看控制台日志记录输出。

  • 调试:logging.AddDebug(); 在 linux 中,此提供程序将日志写入 /var/log/message。

  • EventSource:logging.AddEventSourceLogger();在windows中,它使用PerfView实用工具收集和查看日志,但尚无支持Linux或MacOS的事件集合和显示工具。

  • EventLog:logging.AddEventLog();向Windows事件日志发送日志输出。

  • TraceSource:logging.AddTraceSource(sourceSwitchName);应用必须在.NET Framework(而非.Net Core)上运行。

7.第三方日志记录提供程序

适用于ASP.NET Core的第三方日志记录框架,链接地址官方文档中有:

  • elmah.io(GitHub 存储库)

  • Gelf(gitHub 存储库)

  • JSNLog(GitHub 存储库)

  • KissLog.net(GitHub 存储库)

  • Loggr(GitHub 存储库)

  • NLog(GitHub 存储库)

  • Sentry(GitHub 存储库)

  • Serilog(GitHub 存储库)

  • Stackdriver(Github 存储库)

例如使用NLog:NLog是一个灵活的免费日志记录平台,适用于各种.NET平台,包括.NET标准。NLog可以轻松写入多个目标。(数据库,文件,控制台)并即时更改日志记录配置。

关于“ASP.NET Core怎么添加记录日志”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“ASP.NET Core怎么添加记录日志”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: ASP.NET Core怎么添加记录日志

本文链接: https://www.lsjlt.com/news/326497.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ASP.NET Core怎么添加记录日志
    这篇文章主要介绍了ASP.NET Core怎么添加记录日志的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ASP.NET Core怎么添加记录日志文章都会有所收获,下面我们一起来看看吧。1.前...
    99+
    2023-06-29
  • ASP.NET Core记录日志
    目录1.前言2.添加日志提供程序3.创建日志3.1启动时(Startup)创建日志3.2在程序中(Program)创建日志4.Configuration5.日志级别6.内置日志记录提...
    99+
    2022-11-13
  • ASP.NET Core如何使用NLog记录日志
    这篇文章主要介绍了ASP.NET Core如何使用NLog记录日志,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、前言在所有的应用程序中,日志功能是不可或缺的模块...
    99+
    2023-06-29
  • ASP.NET Core如何使用Log4net实现日志记录功能
    这篇文章主要介绍“ASP.NET Core如何使用Log4net实现日志记录功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ASP.NET Core如何使用Log4net实现日...
    99+
    2023-06-29
  • C#使用Log4net添加日志记录的方法
    目录一、Log4net二、使用日志库1. 添加库2. 配置log4net3. 使用log4net4. 结果一、Log4net 官方网站:https://logging.apache....
    99+
    2022-11-13
  • JavaScript怎么记录日志
    这篇文章主要介绍了JavaScript怎么记录日志的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript怎么记录日志文章都会有所收获,下面我们一起来看看吧。console.log()在浏览器中使用c...
    99+
    2023-07-06
  • Thinkphp6怎么记录SQL日志
    一、 public下.env 文件加配置二、config/database.php文件配置三、.env文件部分配置数据四、总结 一、 public下.env 文件加配置 在文件的第一行...
    99+
    2023-08-31
    sql php Tp6记录SQL日志 Tp6配置记录SQL日志
  • 怎么记录PHP修改日志
    这篇“怎么记录PHP修改日志”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么记录PHP修改日志”文章吧。选择修改日志格式在...
    99+
    2023-07-06
  • 怎么关闭ThinkPHP的日志记录
    本文小编为大家详细介绍“怎么关闭ThinkPHP的日志记录”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么关闭ThinkPHP的日志记录”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。ThinkPHP的日志记录...
    99+
    2023-07-06
  • 怎么使用java添加记录
    使用Java添加记录的基本步骤如下:1. 连接数据库:首先,需要使用合适的数据库连接驱动来连接数据库。常见的数据库连接驱动有JDBC...
    99+
    2023-08-30
    java
  • ASP.NET Core 6.0怎么添加JWT认证和授权功能
    本篇内容介绍了“ASP.NET Core 6.0怎么添加JWT认证和授权功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2023-06-30
  • 怎么自行给指定的SAP OData服务添加自定义日志记录功能
    这篇文章给大家分享的是有关怎么自行给指定的SAP OData服务添加自定义日志记录功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。有的时候,SAP标准的OData实现或者相关的工具没有提供我们想记录的日志功能,...
    99+
    2023-06-04
  • python怎么实现记录用户登录日志
    本篇内容主要讲解“python怎么实现记录用户登录日志”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么实现记录用户登录日志”吧!任务1、记录用户登录日志import ti...
    99+
    2023-06-29
  • mysql中怎么慢查询日志记录
    mysql中怎么慢查询日志记录,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1,配置开启 :在mysql配置文件my.cnf中增加log-...
    99+
    2022-10-18
  • Laravel中的日志记录怎么配置
    本篇内容介绍了“Laravel中的日志记录怎么配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Laravel 是一个开源 PHP web ...
    99+
    2023-07-05
  • Ubuntu中怎么启用Crontab日志记录
    Ubuntu中怎么启用Crontab日志记录,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在ubuntu下安装crontab后,系统默认的是不开启crontab的日志记录的,启...
    99+
    2023-06-13
  • sql怎么向表中添加记录
    要向SQL表中添加记录,您可以使用INSERT INTO语句。语法如下: INSERT INTO 表名 (列名1, 列名2, 列名3...
    99+
    2023-10-24
    sql
  • CentOS中怎么添加用户操作日志
    这篇文章将为大家详细讲解有关CentOS中怎么添加用户操作日志,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、把以下内容放至/etc/profile结尾(部分系统如CentOS 5.5可能...
    99+
    2023-06-10
  • 开源日志记录组件Log4Net怎么用
    这篇文章主要介绍了开源日志记录组件Log4Net怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。log4net是.Net下一个非常优秀的开源日志记录组件。log4net记...
    99+
    2023-06-03
  • 怎么在python中利用 loguru记录日志
    本篇文章为大家展示了怎么在python中利用 loguru记录日志,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作