CS 系统框架二[简单记录系统日志]

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 园子里面有几位朋友跟我说最好可以记录一些相关的日志,以便据此查找一些其它的信息或者是DeBug,我简单的处理了一下, 这里用到了一个枚举: 需要用的时候就传一个标志进来就行了,记录日志的函数就不说了,说白了就是记录一些数据,后台调用如下: 1 using System; 2 using System.

园子里面有几位朋友跟我说最好可以记录一些相关的日志,以便据此查找一些其它的信息或者是DeBug,我简单的处理了一下,

这里用到了一个枚举:

需要用的时候就传一个标志进来就行了,记录日志的函数就不说了,说白了就是记录一些数据,后台调用如下:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 namespace Allen.Tools.Common
 7 {
 8     public static class SystemLog
 9     {
10         public static string GetLogType(int Type)
11         {
12             if (Type == 1)
13             {
14                 return "操作日志";
15             }               
16             else if (Type == 2)
17             {
18                 return "安全日志";
19             }
20             else if (Type == 3)
21             {
22                 return "访问日志";
23             }
24             else 
25             {
26                 return "不确定的类型";
27             }
28                 
29         }
30     }
31 }
 1 private void tsSave_Click(object sender, EventArgs e)
 2         {
 3             string FunctionName = txtItemName.Text.Trim();
 4             string FrmName = txtFrmName.Text.Trim();
 5             string MenuGroupID = this.cmbMenuGroupName.SelectedValue.ToString();
 6             string ICO = this.cmbICO.Text.Trim();
 7             string FrmCode = this.txtFunCode.Text.Trim();
 8             string IsAutoLoad = rdoAutoLoad.Checked ? "1" : "0";
 9             switch (intType)
10             {
11                 case 1:
12                     if (new BLL.sys_FunctionManager().CreateFunction(FunctionName, MenuGroupID, FrmName, ICO))
13                     {
14                         MessageText = "子菜单资料创建成功!\r\n【子菜单】:" + FunctionName;
15                         MessageBox.Show(MessageText, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
16 
17                     }                                   
18                     break;
19 
20                 case 2:
21                     if (new BLL.sys_FunctionManager().UpdateFunction(FunctionName, MenuGroupID, FrmName, ICO))
22                     {
23                         MessageText = "子菜单资料修改成功!\r\n【子菜单】:" + FunctionName;
24                         MessageBox.Show(MessageText , "提示信息:", MessageBoxButtons.OK, MessageBoxIcon.Information);
25                     }
26                    
27                     break;
28             }
29             tsCreate.Enabled = true;
30             tsChange.Enabled = true;
31             tsDelete.Enabled = true;
32             tsClose.Enabled = true;
33             tsSave.Enabled = false;
34             tsWaiver.Enabled = false;
35             blType = false;
36             FrmFunction_Shown(sender, e);           
37 
38             #region 记录系统日志
39             try
40             {
41                 if (intType == 1)
42                 {
43                     ExecMethodName = "BLL.sys_FunctionManager().CreateFunction";
44                 }
45                 if (intType == 2)
46                 {
47                     ExecMethodName = "BLL.sys_FunctionManager().UpdateFunction";
48                 }
49                 new BLL.PublicManager().CreateSystemLog(allensingleton.UserID,
50                     ExecMethodName, MessageText, SystemLog.GetLogType(1).ToString());
51             }
52             catch (Exception)
53             {
54             }
55             #endregion
56         }

 

这里因为创建和修改在同一个事件(Save的事件)里面实现的,所以我用if来判断了一下,如果是单一的情况则不需要这样处理了,日志记录如下图:

本来想把用户每一步操作的SQL语句给记下来的,但是发现有的字符串非常的长,包括那些参数,所以就只记录了当时执行的函数名称。

PS:    我把代码整理了一下,看起来比之前规范了一些,应该不会被移除首页了吧...

 

 

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
27天前
|
Prometheus 监控 Cloud Native
基于docker搭建监控系统&日志收集
Prometheus 是一款由 SoundCloud 开发的开源监控报警系统及时序数据库(TSDB),支持多维数据模型和灵活查询语言,适用于大规模集群监控。它通过 HTTP 拉取数据,支持服务发现、多种图表展示(如 Grafana),并可结合 Loki 实现日志聚合。本文介绍其架构、部署及与 Docker 集成的监控方案。
235 122
基于docker搭建监控系统&日志收集
WGLOG日志管理系统是怎么收集日志的
WGLOG通过部署Agent客户端采集日志,Agent持续收集指定日志文件并上报Server,Server负责展示与分析。Agent与Server需保持相同版本。官网下载地址:www.wgstart.com
|
4月前
|
监控 API 开发工具
HarmonyOS Next的HiLog日志系统完全指南:从入门到精通
本文深入解析HarmonyOS Next的HiLog日志系统,涵盖日志级别、核心API、隐私保护与高级回调功能,助你从入门到精通掌握这一重要开发工具。
214 1
|
16天前
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
64 2
|
11月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
2975 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
3月前
|
存储
WGLOG日志管理系统可以采集网络设备的日志吗
WGLOG日志审计系统提供开放接口,支持外部获取日志内容后发送至该接口,实现日志的存储与分析。详情请访问:https://www.wgstart.com/wglog/docs9.html
|
8月前
|
存储 前端开发 数据可视化
Grafana Loki,轻量级日志系统
本文介绍了基于Grafana、Loki和Alloy构建的轻量级日志系统。Loki是一个由Grafana Labs开发的日志聚合系统,具备高可用性和多租户支持,专注于日志而非指标,通过标签索引而非内容索引实现高效存储。Alloy则是用于收集和转发日志至Loki的强大工具。文章详细描述了系统的架构、组件及其工作流程,并提供了快速搭建指南,包括准备步骤、部署命令及验证方法。此外,还展示了如何使用Grafana查看日志,以及一些基本的LogQL查询示例。最后,作者探讨了Loki架构的独特之处,提出了“巨型单体模块化”的概念,即一个应用既可单体部署也可分布式部署,整体协同实现全部功能。
2567 70
Grafana Loki,轻量级日志系统
|
7月前
|
存储 消息中间件 缓存
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
基于阿里云SelectDB,MiniMax构建了覆盖国内及海外业务的日志可观测中台,总体数据规模超过数PB,日均新增日志写入量达数百TB。系统在P95分位查询场景下的响应时间小于3秒,峰值时刻实现了超过10GB/s的读写吞吐。通过存算分离、高压缩比算法和单副本热缓存等技术手段,MiniMax在优化性能的同时显著降低了建设成本,计算资源用量降低40%,热数据存储用量降低50%,为未来业务的高速发展和技术演进奠定了坚实基础。
274 1
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
|
7月前
|
存储 JSON Go
PHP 日志系统的最佳搭档:一个 Go 写的远程日志收集服务
为了不再 SSH 上去翻日志,我写了个 Go 小脚本,用来接收远程日志。PHP 负责记录日志,Go 负责存储和展示,按天存储、支持 API 访问、可远程管理,终于能第一时间知道项目炸了。
115 10
|
存储 监控 安全
5款 Syslog集中系统日志常用工具对比推荐
集中管理Syslog有助于持续监控网络中的恶意活动,确保日志的搜索和分析更为便捷。常用工具包括Rsyslog、Syslog-ng、Logstash和Fluentd,它们各有优劣。Rsyslog通过多种协议确保日志传输的安全性;Syslog-ng支持高效收集和转发日志;Logstash能解析多源日志并索引;Fluentd将日志转换为JSON格式。卓豪EventLog Analyzer则提供一体化的日志管理,支持日志分析、报表生成、用户行为分析及实时告警,是全面的日志管理解决方案。

热门文章

最新文章