本系列分为项目集成、项目部署、架构演进三个方向,后续会根据情况调整文章目录。

本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单。

Taurus.MVC 微服务框架 入门开发教程:项目集成:1、服务端:注册中心、网关(提供可运行程序下载)。

Taurus.MVC 微服务框架 入门开发教程:项目集成:2、客户端:ASP.NET(C#)编程语言项目集成:应用中心。

Taurus.MVC 微服务框架 入门开发教程:项目集成:3、客户端:其它编程语言项目集成:应用中心。

Taurus.MVC 微服务框架 入门开发教程:项目集成:4、默认安全认证与自定义安全认证。

Taurus.MVC 微服务框架 入门开发教程:项目集成:5、统一的日志管理。

Taurus.MVC 微服务框架 入门开发教程:项目集成:6、微服务的二次开发。

Taurus.MVC 微服务框架 入门开发教程:项目部署:1、微服务应用程序常规部署实现多开,节点扩容。

Taurus.MVC 微服务框架 入门开发教程:项目部署:2、让Kestrel支持绑定多个域名转发,替代Ngnix使用。

Taurus.MVC 微服务框架 入门开发教程:项目部署:3、微服务应用程序版本升级:全站升级和局部模块升级。

Taurus.MVC 微服务框架 入门开发教程:项目部署:4、微服务应用程序发布到Docker部署(上)。

Taurus.MVC 微服务框架 入门开发教程:项目部署:5、微服务应用程序发布到Docker部署(下)。

Taurus.MVC 微服务框架 入门开发教程:项目部署:6、微服务应用程序Docker部署实现多开。

Taurus.MVC 微服务框架 入门开发教程:架构演进:1、从单应用程序简单过渡到负载均衡。

Taurus.MVC 微服务框架 入门开发教程:架构演进:2、负载均到模块拆分负载。

Taurus.MVC 微服务框架 入门开发教程:架构演进:3、模块拆分负载到多级负载均衡。

Taurus.MVC 微服务框架 入门开发教程:运行示例:https://github.com/cyq1162/Taurus.MVC.MicroService.Demo

前言:

对于微服务的日志统一管理来说,除了把日志统一发送到MQ,再进行统一处理之外。

也可以利用CYQ.Data的Log功能,统一写数据库。

CYQ.Data对日志的写是线程队列写,因此不用担心高并发与执行阻塞问题。

Taurus.MVC 本身就引用了CYQ.Data,因此直接用即可,下面介绍简单使用方法:

1、配置数据库链接:LogConn

appsettings.json:配置如下:

{
"ConnectionStrings": {
"LogConn": "server=.;database=MSLog;uid=sa;pwd=123456"
},
"AppSettings": {
"IsWriteLog": true
}
}

web.config:配置如下:

<configuration>
<connectionStrings>
<add name="LogConn" connectionString="txt path={0}App_Data"/>
</connectionStrings>
<appSettings>
<add key="IsWriteLog" value="true"/>
</appSettings>
</configuration>

说明:

1、通过配置IsWriteLog,启用写日志功能,默认false,异常会直接抛出来。

2、通过配置LogConn,指定数据库,默认会检测并创建SysLogs表,并进行日志数据写入。

2、配置数据库链接(备):LogConn_Bak

appsettings.json:配置如下:

{
"ConnectionStrings": {
"LogConn": "server=.;database=MSLog;uid=sa;pwd=123456"
  "LogConn_Bak": "server=.;database=MSLog_bak;uid=sa;pwd=123456"
},
  "AppSettings": {
"IsWriteLog": true
}
}

web.config:配置如下:

<configuration>
<connectionStrings>
<add name="LogConn" connectionString="txt path={0}App_Data/LogA/"/>
   <add name="LogConn_bak" connectionString="txt path={0}App_Data/LogA_Bak/"/>
</connectionStrings>
<appSettings>
    <add key="IsWriteLog" value="true"/>
</appSettings>
</configuration>

说明:

如果主数据库了,默认链接会切换到备数据库链接写,避免日志丢失。

3、自定义数据库日志表名:

appsettings.json:配置如下:

{
"ConnectionStrings": {
"LogConn": "server=.;database=MSLog;uid=sa;pwd=123456"
  "LogConn_Bak": "server=.;database=MSLog_bak;uid=sa;pwd=123456"
},
  "AppSettings": {
"IsWriteLog": true,
   "LogTableName":"自定义微服务模块日志表名"
}
}

web.config:配置如下:

<configuration>
<connectionStrings>
<add name="LogConn" connectionString="txt path={0}App_Data/LogA/"/>
   <add name="LogConn_bak" connectionString="txt path={0}App_Data/LogA_Bak/"/>
</connectionStrings>
<appSettings>
    <add key="IsWriteLog" value="true"/>
    <add key="LogTableName" value="自定义日志表名"/>
</appSettings>
</configuration>

说明:

对于数据库,可以独立一个日志数据库,但对于不同的微服务,可以采用不同的表名来区分监控日志。

4、自定义数据库日志表名:按每天或每月生成一张表进行采集

在系统运行启动之后,找个写代码的地方:

1、按每天生成1张日志表:

CYQ.Data.AppConfig.LogTableName="日志表名"+DateTime.Now.ToString("yyyyMMdd");

2、按每月生成1张日志表:

CYQ.Data.AppConfig.LogTableName="日志表名"+DateTime.Now.ToString("yyyyMM");

3、按每年生成1张日志表:

CYQ.Data.AppConfig.LogTableName="日志表名"+DateTime.Now.ToString("yyyy");

说明:

为了避免日志表长时间收集数据过大的问题,可以通过自定义表名,来达到区分。

通过在写日志之前,通过代码修改默认的配置表名,即可达到自定义分拆表的需求。

5、业务框架收集日志的代码调用:

默认,调用简单,在有需要的地方直接写即可:

CYQ.Data.Log.Write(日志信息,分类名称)

详情接口:

public static partial class Log
{
public static void Write(Exception err)
public static void Write(Exception err, string logType) public static void Write(string message)
public static void Write(string message, string logType) }

6、默认生成的数据库表结构与信息:

说明:

除了错误信息内容与分类名,系统还会收集上下文中的相关信息,并进行一并记录。

总结:

通过Taurus.MVC微服务框架默认提供的日志功能,仅需要简单配置,即可达到高性能的收集各种异常日志或其它日志。

Taurus.MVC 微服务框架 入门开发教程:项目集成:5、统一的日志管理。的更多相关文章

  1. Taurus.MVC 微服务框架 入门开发教程:项目部署:1、微服务应用程序常规部署实现多开,节点扩容。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  2. Taurus.MVC 微服务框架 入门开发教程:项目部署:2、让Kestrel支持绑定多个域名转发,替代Ngnix使用。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  3. Taurus.MVC 微服务框架 入门开发教程:项目部署:3、微服务应用程序版本升级:全站升级和局部模块升级。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  4. Taurus.MVC 微服务框架 入门开发教程:项目集成:1、服务端:注册中心、网关(提供可运行程序下载)。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  5. Taurus.MVC 微服务框架 入门开发教程:项目集成:2、客户端:ASP.NET Core(C#)项目集成:应用中心。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  6. Taurus.MVC 微服务框架 入门开发教程:项目集成:4、默认安全认证与自定义安全认证。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  7. Taurus.MVC 微服务框架 入门开发教程:项目部署:4、微服务应用程序发布到Docker部署(上)。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  8. Taurus.MVC 微服务框架 入门开发教程:项目部署:5、微服务应用程序发布到Docker部署(下)。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  9. Taurus.MVC 微服务框架 入门开发教程:项目部署:6、微服务应用程序Docker部署实现多开。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

随机推荐

  1. 从数字化概念到落地,都说是一道坎,JNPF能为企业带来什么呢?​

    数字经济席卷全球推动产业转型是必然趋势,人类社会正在数字化大潮中发生深刻变革,数字化越来越成为推动经济社会发展的核心驱动力.企业正处于数字经济大潮的风口浪尖,故企业经验决策者应深刻认识数字化转型对于企 ...

  2. 钉钉登录二维码嵌套在vue页面中

    转自 https://www.csdn.net/tags/OtDacg3sMjQ2NTgtYmxvZwO0O0OO0O0O.html 钉钉登录二维码嵌套在vue页面中 2021-09-04 14:42 ...

  3. 介绍python和库文件管理

    一.Python 特点 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单. 2.易于阅读:Python代码定义的更清晰. 3.易于维护:Python的成功 ...

  4. JUnit 5 - Nested Test 内嵌测试

    本文地址:https://www.cnblogs.com/hchengmx/p/15158658.html 1. Nested用来解决什么问题 简单地说,Nested用来解决,随着Case越来越多,C ...

  5. vue华视电子身份证阅读器的使用

          ie还是谷歌都是可以用的 只需要直接启用华视电子身份证阅读器的服务来的,至于服务已经上传到了网上   华视阅读器服务,下载下来解压,找到对应的华视电子读卡服务.exe文件,路径是CVR-1 ...

  6. 基于Kubernetes v1.24.0的集群搭建(一)

    一.写在前面 K8S 1.24作为一个很重要的版本更新,它为我们提供了很多重要功能.该版本涉及46项增强功能:其中14项已升级为稳定版,15项进入beta阶段,13项则刚刚进入alpha阶段.此外,另 ...

  7. C++对象间通信组件,让C++对象“无障碍交流”

    介绍 这是很久之前的一个项目了,最近刚好有些时间,就来总结一下吧! 推荐初步熟悉项目后阅读本文: https://gitee.com/smalldyy/easy-msg-cpp 从何而来 这要从我从事 ...

  8. bat-注册表修改win11右键风格

    展开:reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32&q ...

  9. CTCLoss如何使用

    CTCLoss如何使用 目录 CTCLoss如何使用 什么是CTC 架构介绍 一个简单的例子 CTC计算的推导 总概率\(p(z|x)\) 路径的含义 路径概率\(p(\pi|x)\) 什么是\(\m ...

  10. 小白对Java的呐喊

    1 public class Hello{ 2 public static void main(string[] args){ 3 System.out.print("hello world ...