当前位置: 首页 > news >正文

网站建设的专业术语网站群系统

网站建设的专业术语,网站群系统,360建筑网上怎么删除投递信息,我想建立个网站怎么弄引言 不管你是开发单体应用还是微服务应用#xff0c;在实际的软件的开发、测试和运行阶段#xff0c;开发者都需要借助日志来定位问题。因此一款好的日志组件将至关重要#xff0c;在.NET 的开源生态中#xff0c;目前主要有Serilog、Log4Net和NLog三款优秀的日志组件在实际的软件的开发、测试和运行阶段开发者都需要借助日志来定位问题。因此一款好的日志组件将至关重要在.NET 的开源生态中目前主要有Serilog、Log4Net和NLog三款优秀的日志组件但相较而言NLog功能更加强大且扩展性强允许开发者在仅修改配置文件的方式来丰富日志输出内容支持多种日志格式包括XML、JSON、YAML等支持多种输出目标包括文件、数据库、控制台、Loki、ElasticSearch等支持自定义日志格式支持日志级别支持异步写入等功能。 NLog 日志组件的使用 那在实际使用中如何集成呢接下来以ASP.NET Core 应用为例进行详细讲解。 创建示例项目控制台执行dotnet new mvc -n NLog.Demo创建示例应用。安装NLog 日志组件进入项目内部控制台执行dotnet add package NLog.Web.AspNetCore添加NLog.Web.AspNetCoreNuGet 包。添加NLog 配置文件官方提供两种方式用来添加配置一种是添加nlog.config文件使用xml格式进行配置一种是直接在appsettings.json文件中使用json格式进行配置这里推荐使用json格式配置以便和ASP.NET Core现有的配置体系对齐。在appsettings.json中添加NLog配置节点如下所示该配置将Info及以上级别的日志输出到控制台将Debug及以上级别的日志输出到App_Data/Logs目录。 {  Logging: {    LogLevel: {      Default: Information,      Microsoft.AspNetCore: Warning    }  },  AllowedHosts: *,  NLog: {    throwConfigExceptions: true,    variables: {      logDirectory: ${basedir}/App_Data/Logs    },    extensions: [      {        assembly: NLog.Web.AspNetCore      }    ],    targets: {      async: true,      logfile: {        type: File,        encoding: utf-8,        fileName: ${logDirectory}/${shortdate}/${logger}.${level}.log      },      logconsole: {        type: Console      }    },    rules: [      {        logger: *,        minLevel: Info,        writeTo: logconsole      },      {        logger: *,        minLevel: Debug,        writeTo: logfile      }    ]  }} 配置NLog 日志组件修改Program.cs如下 using NLog.Extensions.Logging;using NLog.Web;var builder  WebApplication.CreateBuilder(args);// Add services to the container.builder.Services.AddControllersWithViews();//配置从配置文件的NLog 节点读取配置var nlogConfig  builder.Configuration.GetSection(NLog);NLog.LogManager.Configuration  new NLogLoggingConfiguration(nlogConfig);//清空其他日志Providersbuilder.Logging.ClearProviders();//该配置用来指定使用ASP.NET Core 默认的日志过滤器var nlogOptions  new NLogAspNetCoreOptions() { RemoveLoggerFactoryFilter  false };builder.Host.UseNLog(nlogOptions); //启用NLogvar app  builder.Build();// 省略其他代码 打印日志修改HomeController中的IndexAction添加日志 using System.Diagnostics;using Microsoft.AspNetCore.Mvc;using NLog.Demo.Models;namespace NLog.Demo.Controllers;public class HomeController : Controller{    private readonly ILoggerHomeController _logger;    public HomeController(ILoggerHomeController logger)    {        _logger  logger;    }    public IActionResult Index()    {        _logger.LogInformation(Hello {user}, this is NLog., new { id  1, name  Shengjie });        return View();    }} 运行项目日志将按照上方配置输出到控制台和指定目录。 如果此时想按环境控制日志输出等级仅需修改对应环境的配置文件即可比如修改appsettings.Development.json中的Logging节点配置如下即可输出所有以Microsoft.AspNetCore为前缀Information以上级别的日志 Logging: {    LogLevel: {      Default: Information,      Microsoft.AspNetCore: Information    }  } 修改后即可输出前缀为Microsoft.AspNetCore的日志如下所示从中可以看出该日志是使用|分割使用的是默认的日志布局TextLayout配置为${longdate}|${level:uppercasetrue}|${logger}|${message:withexceptiontrue}。 2023-03-01 10:00:38.7022|INFO|Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker|Executed action NLog.Demo.Controllers.HomeController.Index (NLog.Demo) in 94.5297ms  这种日志的好处是开发环境查看比较直观但是因为缺失了字段信息收集后不便分析那如何调整为结构化的日志结构呢简单使用JsonLayout即可修改NLog:targets:logconsole节点添加layout节点配置即可如下所示     targets: {      async: true,      logconsole: {        type: Console,        layout: {          type: JsonLayout,          attributes: [            {              name: timestamp,              layout: ${date}            },            {              name: app,              layout: ${processname}            },            {              name: env,              layout: ${environment:ASPNETCORE_ENVIRONMENT}            },            {              name: level,              layout: ${level}            },            {              name: logger,              layout: ${logger}            },            {              name: message,              layout: ${message}            },            {              name: exception,              layout: ${exception:formattoString}            },            {              name: aspnet-request-method,              layout: ${aspnet-request-method}            },            {              name: aspnet-request-url,              layout: ${aspnet-request-url}            },            {              name: aspnet-mvc-controller,              layout: ${aspnet-mvc-controller}            },            {              name: aspnet-mvc-action,              layout: ${aspnet-mvc-action}            }          ]        }      }    } 重新运行就可以得到Json结构化的日志结构日志输出举例如下 {    timestamp: 2023/03/01 13:25:11.912,    app: NLog.Demo,    env: Development,    level: Info,    logger: NLog.Demo.Controllers.HomeController,    message: Hello { id  1, name  Shengjie }, this is NLog.,    aspnet-request-method: GET,    aspnet-request-url: https://localhost/,    aspnet-mvc-controller: Home,    aspnet-mvc-action: Index} 其中app字段是通过NLog预置的${processname}字段获取env字段是通过${environment}从指定的环境变量获取以aspnet-为前缀的字段则是通过NLog.Web.AspNetCore中预置的字段中获取因此在配置NLog时要在NLog节点下加入extensions配置。 NLog: {  throwConfigExceptions: true,  variables: {    logDirectory: ${basedir}/App_Data/Logs  },  extensions: [    {      assembly: NLog.Web.AspNetCore    }  ]} NLog除了以上预置的字段外还有很多其他字段比如从配置文件读取字段从应用读取身份信息提取请求数据包读取请求头截取QueryString中的指定字段。而正是是因为这些开箱即用的预置字段保证开发者随时按需调整日志输出的字段、格式和目标。 总结 通过以上介绍相信你发现了NLog日志组件的强大之处允许开发者在仅修改配置文件的方式来丰富日志输出字段、格式可以有效地帮助开发者记录和分析应用程序的运行情况。 本文由 mdnice 多平台发布
http://www.dnsts.com.cn/news/63627.html

相关文章:

  • 北京代理网站备案泊美网站建设总目的
  • 学校后勤部网站建设方案怀化建设局网站
  • 建筑工程网站哪个好论坛如何做seo
  • 织梦html5手机网站模板深圳网站建设开发哪家好
  • 山石网站超市南通专业网站制作
  • 现代农业园网站建设方案四川做网站
  • 比较好的网站建设品牌设计wordpress链接 数据库文件
  • 浅谈做网站的好处东莞百姓网交友
  • 安康手机网站建设自己做签名网站
  • 旅游网站设计与实现论文wordpress statraq
  • 两学一做网站网站群晖搭建wordpress固定链接
  • 深圳网站制作首荐祥奔科技我对网站开发的项目反思
  • 中国建设银行贵州省分行网站wordpress模板图片不显示
  • 计算机多媒体辅助教学网站开发商城源码购买
  • 广东网站设计专业团队给实体店老板做的网站
  • 超链接到网站怎么做视频文件品牌网站建设解决方
  • 网站建设实习免费做计算机题的网站
  • 图片素材网站排行榜个人代做网站
  • 网站建设工作室深圳百度指数查询官网入口
  • 网站搬家闵行网站建站多少钿
  • 凯里网站建设如何收费网站开发和软件开发含义
  • 沭阳做网站的公司网站权重是什么
  • app设计网站模板免费下载wordpress导出主题
  • 网络公司做网站的合同wordpress主题消失
  • 网站开发询价函嘉鱼网站建设前十
  • 如何开通属于自己的网站济南营销型网站建设哪家好
  • 数据库网站模板为什么要做营销型网站
  • 免费微分销系统手机优化电池充电是什么意思
  • wordpress个人网站备案管理大丰企业做网站多少钱
  • 建设银行企业网站银行惠州seo工作室