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

网站建设的专业术语风机网站怎么做

网站建设的专业术语,风机网站怎么做,深圳优秀网站建设价格,卖域名的公司 骗做网站引言 不管你是开发单体应用还是微服务应用#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.hkea.cn/news/14540969/

相关文章:

  • 渭南网站建设费用明细网站备案做优惠券
  • 佛山网站改版免费制作二维码的网站
  • 凡科网免费做网站免费的源代码分享有哪些网站
  • 免费织梦网站模板做企业网站有前途吗
  • 设置网站默认首页拼客多网站多少钱可以做
  • 营销型企业网站优化做网站每年交服务费
  • 苏州网站建设kgu引用评论框代码wordpress6
  • 数据分析系统搭建宁波seo托管公司
  • 建设工程教育网官方网站网站开发u盘128够吗
  • 上海青浦做网站公司深圳入户申请网站官网
  • 优质网站品牌策划方案范文
  • 建立网站后期需要干嘛中国建筑网官网是哪个
  • 在上海做兼职在哪个网站图片网站怎样选择虚拟主机
  • 天津网站建设icp备重庆百姓网
  • 公司备案网站负责人是谁网站建设平台简介
  • 怎么建立自己的个人网站wordpress插件mip
  • 做网站比较好哪些网站自己做宣传
  • 山西省住房建设厅网站下载工作组赴哈尔滨
  • 电影网站网页设计长沙网站建立公司
  • 中国建设网站用户名网站开发人员 怎么保存
  • 网站开发招聘需要python抓取更新wordpress
  • 做彩平的材质网站企业微信scrm系统源码
  • 云主机做网站域名打不开wordpress主题框架
  • 北京网站优化推广效果网站建设系统改版
  • 网站备案 icp备案免费推广中文黄页网
  • 长安高端装备网站设计公司局域网聊天工具排行
  • 松岗建设网站织梦网站怎样做百度主动推送
  • 个人博客网站实验报告网站建设教程 冰美人视频
  • 企业网站如何做自然搜索潍坊市网站建设
  • 嘉兴 做网站 推广wordpress 瀑布流分页