首页 > 其他分享 >netCore中的内置日志的使用

netCore中的内置日志的使用

时间:2024-09-26 17:25:59浏览次数:6  
标签:builder 内置 logging netCore app public using 日志 logger

1、net Core 3.1 中配置   

参考链接: https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/logging/?view=aspnetcore-3.1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;

namespace GDC.OfficeCloud.WebPC
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureLogging(logging => {
                    logging.ClearProviders(); //主要是配置这里
                    logging.AddConsole(); //主要是配置这里
                })
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.ConfigureKestrel((context, options) =>
                    {
                        //设置应用服务器Kestrel请求体最大为500MB
                        options.Limits.MaxRequestBodySize = 524288000;
                    });
                    webBuilder.UseStartup<Startup>();
                });
    }
}

使用:

public class GDCActionFilter : IActionFilter
  {
      private readonly ILogger _logger;
      private IHostingEnvironment _environment;

      public GDCActionFilter(ILogger<GDCActionFilter> logger,IHostingEnvironment environment)
      {
          _logger = logger;
          _environment= environment;
      }

      public void OnActionExecuting(ActionExecutingContext context)
      {
          _logger.LogInformation("Request: {0} {1}", context.HttpContext.Request.Method, context.HttpContext.Request.Path);//只截取了部分代码
      _logger.LogInformation("Request Body: {0}", context.HttpContext.Request.Body); //只截取了部分代码

查看日志:

 这是在 Visual Studio调试中看到的,暂时没想到如何配置记录在 txt文件中

2、net 6.0以上的版本

参考:https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/logging/?view=aspnetcore-6.0

var builder = WebApplication.CreateBuilder(args);
builder.Logging.ClearProviders();  //核心代码
builder.Logging.AddConsole(); //核心代码

builder.Services.AddRazorPages();

var app = builder.Build();

if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.MapRazorPages();

app.Run();

或者如下方式配置:

var builder = WebApplication.CreateBuilder();
builder.Host.ConfigureLogging(logging =>
{
    logging.ClearProviders();
    logging.AddConsole();
});

使用:

public class AboutModel : PageModel
{
    private readonly ILogger _logger;

    public AboutModel(ILogger<AboutModel> logger)
    {
        _logger = logger;
    }

    public void OnGet()
    {
        _logger.LogInformation("About page visited at {DT}", 
            DateTime.UtcNow.ToLongTimeString());
    }
}

 

暂时没想到如何配置内置的日志到txt中。如果要实现记录到 txt中,可以使用第三方的 Nlog将日志输出到文件

标签:builder,内置,logging,netCore,app,public,using,日志,logger
From: https://www.cnblogs.com/huaan011/p/18433804

相关文章

  • GBASE南大通用赋能北京联通,打造高效流媒体日志查询平台
    项目背景北京联通宽带业务中心在IPV6流媒体系统升级改造完成的基础上,需要进一步实现对用户访问信息的统计,达到深度分析用户访问行为,快速定位故障、快速响应联通客户投诉,提升客户满意度的目的,并为经营分析、营销及运维提供高价值的数据支持。宽带业务中心各类系统每天产生大量的非结......
  • Python日志管理之Loguru
    1.安装pipinstallloguru2.快速使用fromloguruimportloggerlogger.add("my_log.log",rotation="10MB")#自动分割日志文件logger.info("这是一个信息级别的日志")3.日志器配置方式1.导入即用fromloguruimportlogger,有且只有1个日志器对象,简化配置复杂性2.日志器配......
  • .NetCore MySqlException 多线程中(There is already an open DataReader associated w
    问题描述:其实标题只是遇到问题的其中之一,遇到三种异常信息如下:Lockwaittimeoutexceeded;tryrestartingtransaction大概意思:超过锁定等待超时;尝试重新启动事务 ThereisalreadyanopenDataReaderassociatedwiththisConnectionwhichmustbeclosedfirst.大......
  • ELK中日志数据采集器Filebeat的安装和使用、Filebeat结合Logstash进行日志处理入Elast
    一、ELK中日志数据采集器Filebeat的安装和使用    Beats是数据采集的得力工具,Beats能够将数据转发至Logstash进行转换和解析。Filebeat是Beats中的一种,Filebeat是本地文件的日志数据采集器,可监控日志目录或特定日志文件(tailfile),并将它们转发给Elasticsearch或Logstats......
  • Windows系统的Tomcat日志路径配置
    文章目录引言IWindows系统的Tomcat日志路径配置配置常规日志路径访问日志路径配置,修改server.xmlII日志文件切割:以分隔割tomcat的catalina.out文件为例子通过Linux系统自带的切割工具logrotate来进行切割引言需求:C盘空间不足,处理日志文件,tomcat......
  • 06 常用内置模块总结
    -其他需背会len获取长度openrange随机生成数id是比较内存地址is/==是进行比较type获取数据类型输入输出printinput强制转换dict()list()tuple()int()str()bool()set()数学相关abs,绝对值v=abs(-1)print(v)float,转换成浮点型(小数)v=55v1=......
  • 9.25学习日志
    一.Python变量1.变量命名(上期已记录)2.变量类型变量是没有类型的,这里所说的变量类型指的是变量所指的内存中对象的类型。在Python中,type()函数用于返回对象的类型。当你使用type(object)时,它会返回该对象的类型,并以<class'typename'>的形式表示。一个变量的typena......
  • linux删除指定日志文件的通用脚本
    linux删除指定日志文件的通用脚本#!/bin/sh#获取删除文件目录MAIN_DIR="/home/user_shell/"DELETE_TIME=`date+%Y-%m-%d\%H:%M:%S`#获取近五天前日期TIMESTAMP1=`date+"%Y-%m-%d"-d"-4days"`TIMESTAMP2=`date+"%Y-%m-%d"-d"-3days"......
  • 单个48TB大小SQL Server数据库备份导致日志文件无法截断
    单个48TB大小SQLServer数据库备份导致日志文件无法截断 SQLServer版本:SQLServer2019背景在一个48T大小的单数据库环境中,采用简单恢复模式,日志文件大小限制为600G。执行一次完整备份时,耗时超过12小时,导致日志文件无法截断并达到上限,后续事务无法正常写入,导致整个数据库不可......
  • 「JVS更新日志」智能BI、低代码、逻辑引擎9.25功能更新说明
    项目介绍JVS是企业级数字化服务构建的基础脚手架,主要解决企业信息化项目交付难、实施效率低、开发成本高的问题,采用微服务+配置化的方式,提供了低代码+数据分析+物联网的核心能力产品,并构建了协同办公、企业常用的管理工具等,所有的应用与能力采用模块化构建,按需开箱使用。更新日志......