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:    我把代码整理了一下,看起来比之前规范了一些,应该不会被移除首页了吧...

 

 

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
15天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
128 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
232 3
|
3月前
|
存储 数据采集 数据处理
【Flume拓扑揭秘】掌握Flume的四大常用结构,构建强大的日志收集系统!
【8月更文挑战第24天】Apache Flume是一个强大的工具,专为大规模日志数据的收集、聚合及传输设计。其核心架构包括源(Source)、通道(Channel)与接收器(Sink)。Flume支持多样化的拓扑结构以适应不同需求,包括单层、扇入(Fan-in)、扇出(Fan-out)及复杂多层拓扑。单层拓扑简单直观,适用于单一数据流场景;扇入结构集中处理多源头数据;扇出结构则实现数据多目的地分发;复杂多层拓扑提供高度灵活性,适合多层次数据处理。通过灵活配置,Flume能够高效构建各种规模的数据收集系统。
71 0
|
9天前
|
Windows Python
如何反向读取Windows系统日志EVTX文件?
以下是如何反向读取Windows系统日志EVTX文件
21 2
|
15天前
|
存储 Linux Docker
centos系统清理docker日志文件
通过以上方法,可以有效清理和管理CentOS系统中的Docker日志文件,防止日志文件占用过多磁盘空间。选择合适的方法取决于具体的应用场景和需求,可以结合手动清理、logrotate和调整日志驱动等多种方式,确保系统的高效运行。
16 2
|
25天前
|
Java 程序员 API
Android|集成 slf4j + logback 作为日志框架
做个简单改造,统一 Android APP 和 Java 后端项目打印日志的体验。
96 1
|
27天前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
48 1
|
1月前
|
监控 网络协议 安全
Linux系统日志管理
Linux系统日志管理
46 3
|
1月前
|
监控 应用服务中间件 网络安全
#637481#基于django和neo4j的日志分析系统
#637481#基于django和neo4j的日志分析系统
35 4
|
2月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
46 2
下一篇
无影云桌面