Restaurants WebAPI(三)——Serilog/FluenValidation

news/2024/12/23 3:04:18/

文章目录

  • 项目地址
  • 一、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.ppmy.cn/news/1557352.html

相关文章

TinyML在OBD-II边缘设备上燃油类型分类的实现与优化

论文标题&#xff1a;TinyML Implementation and Optimization for Fuel Type Classification on OBD-II Edge Device&#xff08;TinyML在OBD-II边缘设备上燃油类型分类的实现与优化&#xff09; 作者信息&#xff1a;Miguel Amaral, Morsinaldo Medeiros, Matheus Andrade, …

高并发架构设计:从 Java Callable 到 CompletableFuture 的进阶修炼

前言 在现代的分布式系统中&#xff0c;高并发性能是一个决定系统能否成功的关键因素。而 Java 作为主流的后端开发语言&#xff0c;也提供了许多强大的工具来帮助我们处理并发任务。今天&#xff0c;我们将通过两个关键工具来讲解高并发架构设计的技巧&#xff1a;Callable 和…

1688跨境代购代采业务:利用API实现自动化信息化

在全球化贸易日益频繁的今天&#xff0c;跨境电商已成为推动国际贸易的重要力量。作为中国电商的源头货盘&#xff0c;1688平台拥有大量的工厂、品牌商和一级批发商&#xff0c;为外贸人提供了极其丰富的货源。如何利用这一平台优势&#xff0c;开展跨境代购代采业务&#xff0…

基础二层交换组网(静态IP)

拓扑图 实验目的 掌握并了解网络中静态IP默认无路由影响的情况。 实验过程 1.创建拓扑 2.配置PC1、PC2 IP地址 PC1&#xff1a; IP地址&#xff1a;192.168.0.1 子网掩码&#xff1a;255.255.255.0PC2&#xff1a; IP地址&#xff1a;192.168.0.2 子网掩码&#xff1a;255.…

selenium 在已打开浏览器上继续调试

关闭浏览器&#xff0c;终端执行如下指令&#xff0c;--user-data-dir换成自己的User Data路径 chrome.exe --remote-debugging-port9222 --user-data-dir"C:\Users\xxx\AppData\Local\Google\Chrome\User Data" 会打开浏览器&#xff0c;打开百度&#xff0c;如下状…

南海信息学竞赛高频考查点系列-1枚举2下标记数3部分和

这套题包含了历年真题&#xff0c;十分重要&#xff01;&#xff01;&#xff01;&#xff01;要考试的同学可以参考一下&#xff01;&#xff01; 此套题限时3小时。 #A. C05.L05.枚举及优化&#xff08;二&#xff09;.课堂练习4.线段覆盖 题目描述 在一条数轴上&#xf…

创建Copilot Agents 就像创建Word文档和PPT演示文稿一样简单

微软 CEO 印度佬 Satya Nadella 在微软 Ignite 2024年大会上的1小时演讲带来了大量的copilot更新&#xff1a; Copilot for Word全新功能&#xff1a;引用邮件和会议内容进行撰写 Copilot for PowerPoint发生重大变化&#xff0c;这些要点不得不看&#xff1a;重写、翻译、插…

基于SpringBoot的“音乐网站与分享平台”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“音乐网站与分享平台”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 系统功能界面图 登录、用户…