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

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.kler.cn/a/447940.html

相关文章:

  • 中国量子计算机领域的发展现状与展望
  • 一区牛顿-拉夫逊算法+分解+深度学习!VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测
  • Java实现贪吃蛇游戏
  • 什么?Flutter 可能会被 SwiftUI/ArkUI 化?全新的 Flutter Roadmap
  • Marin说PCB之POC电路layout设计仿真案例---06
  • Swin transformer 论文阅读记录 代码分析
  • SSH特性|组成|SSH是什么?
  • Netty解决粘包半包问题
  • Spring常见问题
  • OpenHarmony-6.IPC/RPC组件
  • 无人机飞防高效率喷洒技术详解
  • 用音乐与自我对话 ——澄迈漓岛音乐节x草台回声
  • Deepin和Windows传文件(Xftp,WinSCP)
  • AI的进阶之路:从机器学习到深度学习的演变(四)
  • 【Android】unzip aar删除冲突classes再zip
  • <QNAP 453D QTS-5.x> 日志记录:Docker 运行的 Flask 应用 SSL 证书 过期, 更新证书
  • 数据结构 C/C++(实验五:图)
  • 【SH】在Ubuntu Server 24中基于Python Web应用的Flask Web开发(实现POST请求)学习笔记
  • 基于Spring Boot的动漫交流与推荐平台
  • Cadence学习笔记 8 添加分页符
  • Vue CLI 脚手架创建项目流程详解 (2)
  • 【git】git命令
  • 《Java源力物语》-2.异常训练场
  • 易语言OCR银行卡文字识别
  • 【Java基础面试题030】Java和Go的区别?
  • EGO Swarm翻译