.NET5/6/7 框架 Furion v4.5.7 版本发布

来源: 投稿
作者: 百小僧
2022-10-06 15:15:00

没想到国庆期间还有不少用户提交 Issue 和 Pull Request,作为作者当然也不能懈怠,只要发现 Bug 并确认当天修复,当天发布,两年多来皆是如此。

目前 Furion 在 Nuget 平台项目总安装量破 355万次,总下载量已经破 4400万次 https://www.nuget.org/profiles/monk.soul

项目信息

本期亮点

1. 支持各种日志输出介质 JSON 化

// 控制台
services.AddConsoleFormatter(options =>
{
    options.MessageFormat = LoggerFormatter.Json;
});

// 文件
services.AddFileLogging("mytemplate.log", options =>
{
    options.MessageFormat = LoggerFormatter.Json;
});

// 数据库
services.AddDatabaseLogging<DatabaseLoggingWriter>(options =>
{
    options.MessageFormat = LoggerFormatter.Json;
});

2. 监听日志支持输出 JSON 格式

// 全局
services.AddMonitorLogging(options =>
{
    options.JsonBehavior = Furion.Logging.JsonBehavior.OnlyJson;
});

// 局部
[LoggingMonitor(JsonBehavior = Furion.Logging.JsonBehavior.OnlyJson)]

本期更新

  • 新特性

    • [新增] .AddConsoleFormatter() 拓展简化控制台日志模板配置 4.5.0 #I5TCMO
    • [新增] 控制台和文件日志时间默认显示 星期几 4.5.1 #I5TKL5
    • [新增] 控制台和文件日志支持配置 options.DateFormat 日期格式化 4.5.1 #I5TKL5
    • [新增] 控制台日志带颜色输出,比如高亮 日志级别 4.5.1 #I5TKL5
    • [新增] 控制台格式化配置 options.WriteHandler 完全自定义配置 4.5.2 7fb3036
    • [新增] 日志输出 JSON 格式化配置 4.5.2 #I5TWC1 #I5OUT1
    • [新增] 数据库日志写入独立日志模板配置、独立日期格式配置 4.5.2 #I5TWC1
    • [新增] LogMessage 结构类 LogDateTimeThreadIdState 属性 4.5.2 #I5TWC1
    • [新增] LoggingMonitor 可配置 JsonWriterOptions 属性 4.5.4 #I5U375
    • [新增] Log.ScopeContext  "some log".ScopeContext 拓展 4.5.4 8129693
    • [新增] 新增 HttpContext.SetTokensOfResponseHeaders 拓展 4.5.7 3775e65
  • 突破性变化

    • [调整] 😊 Furion 框架文档地址为 https://furion.baiqian.ltd 4.5.4 2e3d80e
    • [调整] LoggingMonitor 底层逻辑,移除原来的 .ScopeContext 存储监听信息设计 4.5.2 #I5TWC1
    • [移除] 主机未启动时构建服务的操作权限,此操作会导致内存激增,受影响方法: App.GetOptions 系列和 App.GetService  Scoped.Create 4.5.4 #I5U0A4 8129693
  • 问题修复

    • [修复] 字符串日志拓展带泛型方法不能正确显示 CategoryName 日志类别 4.5.0 #I5TBKL
    • [修复] 控制台日志设置了 .ScopeContext 无效问题 4.5.2 7fb3036
    • [修复] LoggingMonitor 同时配置了局部和全局日志监听触发两次问题 4.5.2 a1a97e8
    • [修复] v4.4.8+ 版本更新导致远程请求在个别情况下出现并发问题 4.5.2 #I5TWL3
    • [修复] LoggingMonitor 配置了 ReturnValueThreshold 之后 Json 被截断引发有效性检测异常 4.5.4 #I5U375
    • [修复] LoggingMonitor 不支持 DataTableDataSetTuple 等类型问题 4.5.5 #I5U3VO
    • [修复]  v4.5.2+ 版本升级后出现启动时使用 App.GetOptons<TOptions> 异常问题 4.5.6 #I5U4OC f9a6587
    • [修复] 修复 app.UseInject(action) 导致死循环 4.5.7 !608
  • 其他更改

    • [调整] 文件日志默认模板,默认对日志时间进行格式化并显示星期几 4.5.1 #I5TKL5
    • [调整] 脚手架代码,默认启用 services.AddConsoleFormatter() 4.5.1 #I5TLI6
    • [调整] Serve.Run() 代码,默认启用 services.AddConsoleFormatter() 4.5.1 #I5TLI6
    • [调整] 减少 MiniProfile 不必要的监听,只在 Swagger 页面请求才监听 4.5.7 697ef51
  • 文档

    • [新增] 选项监听出现触发多次的解决方案 #I5T9PR
    • [更新] 日志记录文档、动态 WebAPI 文档、选项文档、HttpContext 文档
展开阅读全文
3 收藏
分享
2 评论
3 收藏
分享
返回顶部
顶部