码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Abp6.0 使用 appsettings.json配置Serilog.Sinks.MariaDB


    Abp6.0中已经启用Serilog,使用Serilog.Sinks.MariaDB包可以保存到MariaDB,mysql中

    一种做法是在var loggerConfiguration = new LoggerConfiguration( )后使用WriteTo.MariaDB扩展方法来配置,这样在代码中配置不够灵活,修改起来也不方便

            其实在Serilog.Sinks.MariaDB的github上很直接的提供了另外一种方式,通过配置文件来配置。这里需要使用Serilog.Settings.Configuration来读取配置文件。关于配置,其实是有默认配置形式的。短短几行代码就解决了问题,

            

    1. //生成一个ConfigurationBuilder,把配置文件加进来
    2. var configuration = new ConfigurationBuilder()
    3. .SetBasePath(Directory.GetCurrentDirectory())
    4. .AddJsonFile("appsettings.json")
    5. .AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"}.json", true)
    6. .Build();
    7. var loggerConfiguration = new LoggerConfiguration( )
    8. .ReadFrom.Configuration(configuration)//从文件中读取配置

    配置文件的格式如下,具体含义请找官方文档:

    1. "Serilog": {
    2. "Using": [
    3. "Serilog.Sinks.MariaDB"
    4. ],
    5. "MinimumLevel": "Debug",
    6. "WriteTo": [
    7. {
    8. "Name": "MariaDB",
    9. "Args": {
    10. "connectionString": "Server=192.168.1.1;Port=12345;Database=xxxx;Uid=xxx;Pwd=xxxxxxxxx;",
    11. "autoCreateTable": true,
    12. "tableName": "Logs",
    13. "restrictedToMinimumLevel": "Warning",
    14. "batchPostingLimit": 1000,
    15. "period": "0.00:00:30",
    16. "options": {
    17. "PropertiesToColumnsMapping": {
    18. "Exception": "Exception",
    19. "Level": "Level",
    20. "Message": "Message",
    21. "MessageTemplate": "MessageTemplate",
    22. "Properties": "Properties",
    23. "Timestamp": "Timestamp"
    24. },
    25. "TimestampInUtc": true,
    26. "ExcludePropertiesWithDedicatedColumn": true,
    27. "EnumsAsInts": true,
    28. "LogRecordsCleanupFrequency": "0.02:00:00",
    29. "LogRecordsExpiration": "31.00:00:00"
    30. }
    31. }
    32. }
    33. ]
    34. }

    我们需要创造,也需要借鉴,毕竟站在巨人的肩膀上才会更高

  • 相关阅读:
    京东数据挖掘:2023年8月京东厨卫大电行业数据分析
    PagePlug企业版案例(二)—表单生成Excel文件并发送至邮箱中
    ATFX汇市:瑞士央行连续第二次降息,USDCHF猛涨
    新时代背景下智慧城市的建设与5G技术有何关联
    【python】Jenkins实现携带commit_log钉钉/企微机器人通知
    Redis实战 | 使用Redis 的有序集合(Sorted Set)实现排行榜功能,和Spring Boot集成
    个推大数据降本提效实战分享-技术问答精选
    Springboot和Vue+MYSQL项目(基本介绍+前后端结合初步项目)+maven+mybatis
    DTU是什么,什么是工业4G DTU?
    万字总结——JavaScript简单入门【值得收藏】
  • 原文地址:https://blog.csdn.net/cynixway/article/details/134431858
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号