当前位置: 首页 > 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.lryc.cn/news/508250.html

相关文章:

  • 概率论得学习和整理32: 用EXCEL描述正态分布,用δ求累计概率,以及已知概率求X的区间
  • 【原生js案例】让你的移动页面实现自定义的上拉加载和下拉刷新
  • 【linux 常用命令】
  • 【JetPack】Room数据库笔记
  • 【CSS in Depth 2 精译_088】第五部分:添加动效概述 + 第 15 章:CSS 过渡特效概述 + 15.1:状态间的由此及彼
  • # 起步专用 - 哔哩哔哩全模块超还原设计!(内含接口文档、数据库设计)
  • [机器学习]XGBoost(3)——确定树的结构
  • PHP阶段一
  • 用人话讲计算机:Python篇!(十五)迭代器、生成器、装饰器
  • 5G -- 5G网络架构
  • VR线上展厅的色彩管理如何影响用户情绪?
  • Vue3:uv-upload图片上传
  • 大数据机器学习算法和计算机视觉应用07:机器学习
  • 基于asp.net游乐园管理系统设计与实现
  • 一区牛顿-拉夫逊算法+分解+深度学习!VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测
  • uniapp使用腾讯地图接口的时候提示此key每秒请求量已达到上限或者提示此key每日调用量已达到上限问题解决
  • WPF 完美解决改变指示灯的颜色
  • Flutter/Dart:使用日志模块Logger Easier
  • 阿里云云服务器初始化
  • Python中SKlearn的K-means使用详解
  • 红帽RHCE认证适用哪些人学习
  • FFmpeg 框架简介和文件解复用
  • 《Java核心技术I》Swing中的边框
  • MySQL 中的常见错误与排查
  • SQL 查询方式比较:子查询与自连接
  • Linux下学【MySQL】所有常用类型详解( 配实操图 通俗易懂 )
  • Gin-vue-admin(1):环境配置和安装
  • 如何在centos系统上挂载U盘
  • 2024年12月大语言模型最新对比:GPT-4、Claude 3、文心一言等详细评测
  • openjdk17 从C++视角看 String的intern的jni方法JVM_InternString方法被gcc编译器连接