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

Restaurants WebAPI(三)——Serilog/FluenValidation


文章目录

  • 项目地址
  • 一、Serilog使用
    • 1.1 安装 Serilog
    • 1.2 注册日志服务
    • 1.3 设置日志级别和详情
    • 1.4 配置到文件里
    • 1.5 给不同的环境配置日志
      • 1.5.1 配置appsettings.Development.json
  • 二、Swagger的使用
  • 三、自定义Exception中间件
    • 3.1 使用FluentValidation


项目地址

  • 教程作者:
  • 教程地址:
  • 代码仓库地址:
  • 所用到的框架和插件:
dbt 
airflow

一、Serilog使用

1.1 安装 Serilog

Restaurants.API层安装Serilog

  <ItemGroup><PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0"><PrivateAssets>all</PrivateAssets><IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets></PackageReference><PackageReference Include="Serilog.AspNetCore" Version="9.0.0" /></ItemGroup>

1.2 注册日志服务

注册日志服务到程序入口Program.cs

builder.Host.UseSerilog((context, configuration) =>configuration.MinimumLevel.Override("Microsoft", LogEventLevel.Warning).MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Information).WriteTo.Console()
);app.UseSerilogRequestLogging();

1.3 设置日志级别和详情

  1. 程序入口设置日志级别 ①程序级别是Warning;②EntityFrameworkCore显示Information;③ 配置日志显示内容
builder.Host.UseSerilog((context,configuration) =>configuration.MinimumLevel.Override("Microsoft",LogEventLevel.Warning).MinimumLevel.Override("Microsoft.EntityFrameworkCore",LogEventLevel.Information).WriteTo.Console(outputTemplate: "[{Timestamp:dd-MM HH:mm:ss} {Level:u3}] |{SourceContext}| {NewLine}{Message:lj}{NewLine}{Exception}")
);
  1. 在EFcore的配置文件设置日志显示
  • Restaurants.Infrastructure/Extensions/ServiceCollectionExtensions.cs

在这里插入图片描述
3. 将需要显示的信息添加到各个Handler里

logger

http://www.mrgr.cn/news/81006.html

相关文章:

  • 「Mac畅玩鸿蒙与硬件45」UI互动应用篇22 - 评分统计工具
  • python rabbitmq实现简单/持久/广播/组播/topic/rpc消息异步发送可配置Django
  • FFmpeg 视频解码详解
  • 远程医疗:科技助力健康触手可及
  • 【人工智能】用Python实现图卷积网络(GCN):从理论到节点分类实战
  • 构建高性能异步任务引擎:FastAPI + Celery + Redis
  • Jenkins
  • lc148链表排序——链表版归并排序
  • AI的进阶之路:从机器学习到深度学习的演变(二)
  • 【老白学 Java】泛型应用 - 卡拉 OK(四)
  • git merge 冲突 解决 show case
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发二十一.2,RTP协议-RTP协议概述,协议详情
  • JS数组方法汇总
  • 【算法】编程拓展-C语言-期末复习
  • 代码随想录算法训练营第十一天-239.滑动窗口最大值
  • 基于pytorch的深度学习基础3——模型创建与nn.Module
  • 009 Qt_显示类控件_QLCDNumber、ProgressBar、Calendar
  • 深度学习Python基础(2)
  • 移植 OLLVM 到 LLVM18,修复控制流平坦化报错
  • EdgeX Core Service 核心服务之 Meta Data 元数据
  • 精通Redis(一)
  • SpringBoot Redis 消息队列
  • JWT,OAuth 2.0,Apigee的区别与关系
  • MySQL的详细使用教程
  • .NET重点
  • iOS + watchOS Tourism App(含源码可简单复现)