首页 > 其他分享 >记录日志文件 日志文件的内容以Json格式保存到txt文件中

记录日志文件 日志文件的内容以Json格式保存到txt文件中

时间:2023-11-07 16:12:27浏览次数:31  
标签:文件 string Enum OperateLog Json var 日志 Type

封装一个方法,传不同的参数,记录不同类型的日志文件,并将大的日志内容,以Json的格式,保存值txt日志文件

1.记录操作日志

1 //记录操作日志
2                 var KeyWord = "导入->编辑预算";
3                 new LogService(AccountId).CreateBudgetLog(Common.JsonHelper.ObjToJson(dbBudget), Common.JsonHelper.ObjToJson(budget), dbBudget.ID, dbBudget.BudgetCode, KeyWord, Enum_OperateLog_Type.Budget, Enum_OperateLog_CRUDType.UpdateS);

 

2.封装好的记录日志的接口

 1 public bool CreateBudgetLog(string Oldjson, string Newjson, int ID, string Code, string KeyWord, Enum_OperateLog_Type Type, Enum_OperateLog_CRUDType CRUDType)
 2         {
 3             try
 4             {
 5                 var dbUserInfo = this.GetObject(new UserInfo { ID = AccountId }) ?? new UserInfo();
 6                 //记录日志
 7                 var operateLog = new OperateLog()
 8                 {
 9                     Created = DateTime.Now,
10                     CreatedBy = AccountId,
11                     IsDeleted = false,
12                     Sn = Guid.NewGuid(),
13                     LogID = ID,
14                     LogCode = Code,
15                     Title = KeyWord,
16                     Type = Type.GetHashCode(),
17                     CRUDType = CRUDType.GetHashCode(),
18                     CreatedName = dbUserInfo.Name,
19                     CreatedEmail = dbUserInfo.Email
20                 };
21                 var FileUrl = string.Empty;
22                 if (Type == Enum_OperateLog_Type.Budget)
23                 {
24                     FileUrl = "Budget_Log";
25                 }
26                 else if (Type == Enum_OperateLog_Type.IO)
27                 {
28                     FileUrl = "IO_Log";
29                 }
30                 else if (Type == Enum_OperateLog_Type.BaseExam)
31                 {
32                     FileUrl = "BaseExam_Log";
33                 }
34                 else
35                 {
36                     FileUrl = "Operate_Log";
37                 }
38 
39                 //写入本地文件
40                 var sitepath = ConfigHelper.Get("SitePath");
41                 var fileDir = $"\\Operate_Log\\{FileUrl}\\{DateTime.Now.ToString("yyyyMMdd")}\\";
42                 DirHelper.CheckFolder(sitepath + fileDir);
43                 var fileUrl = sitepath + fileDir + Code + "_" + operateLog.Sn + ".txt";
44                 FileHelper.WriteFile(fileUrl, Oldjson + "\r\n" + Newjson);
45                 operateLog.FileURL = fileUrl;
46                 this.Create(operateLog);
47 
48                 return true;
49             }
50             catch (Exception)
51             {
52 
53                 throw;
54             }
55 
56         }

3. FileHelper.WriteFile(fileUrl, Oldjson + "\r\n" + Newjson);

将对应Json写入指定文件



 1       /// <summary>
 2         /// 将字符串写入到指定文件
 3         /// </summary>
 4         /// <param name="filePath"></param>
 5         /// <param name="fileContent"></param>
 6         /// <returns></returns>
 7         public static bool WriteFile(string filePath, string fileContent)
 8         {
 9             FileHelper.WriteFile(filePath, System.Text.Encoding.UTF8.GetBytes(fileContent));
10             return true;
11         }

 

 
 1       /// <summary>
 2         /// 将字节写入到指定文件
 3         /// </summary>
 4         /// <param name="filePath"></param>
 5         /// <param name="fileContent"></param>
 6         public static void WriteFile(string filePath, byte[] fileContent)
 7         {
 8             var dirPath = filePath.Substring(0, filePath.LastIndexOf("\\"));
 9             if (!Directory.Exists(dirPath))
10             {
11                 Directory.CreateDirectory(dirPath);
12             }
13             using (var fs = File.Create(filePath))
14             {
15                 fs.Write(fileContent, 0, fileContent.Length);
16                 fs.Flush();
17             }
18         }

 

标签:文件,string,Enum,OperateLog,Json,var,日志,Type
From: https://www.cnblogs.com/wzzcc/p/17815236.html

相关文章

  • PySpark判断Hdfs文件路径是否存在
    背景从ScalaSpark代码转PySpark代码,同时实现连续读多个文件,避免因某些路径不存在导致程序终止。在Scala的Spark中可以直接导下面两个模块的包importorg.apache.hadoop.conf.Configurationimportorg.apache.hadoop.fs._然后调用方法就可以实现对hdfs的文件判断了valfs=......
  • 如何使用git将某个文件回退到历史版本
    1.查看提交历史gitlogcommit4fe5108e0ca86d439f0da61751fac5845ec64f5c3commit38f9efd1f004996330a78c4b78372ba7c37469892commit5617205b96685ee157b67f3d66c71aa24cc378601会出现一些commitid2.找到需要回退的文件路径,如api/v2/s.php3.开始回退,要把api/v......
  • 查看和分析死锁日志
    死锁在系统中可能出现的频率比较高,特别是在生产环境中,对于死锁发生原因的定位比较困难,读懂死锁日志是非常有必要的。下面我们来模拟死锁的产生,然后分析死锁日志。死锁概念对于死锁,MySQL官方文档是这样描述的:Adeadlockisasituationwheredifferenttransactionsareunabl......
  • 在树莓派上部署 NFS 文件存储服务器
    有时候我们在需要在自己的电脑与树莓派或树莓派与树莓派之间进行文件共享、传输。网络文件系统(NetworkFileSystem)应运而生,NFS是由SUN公司研制的UNIX表示层协议(Presentationlayerprotocol),可以让使用者访问网络上别处的文件就像在使用自己的计算机一样。NFS的搭建过程也......
  • [JSON] Fastjson 之版本对比:Fastjson vs Fastjson2
    1Fastjson21.1简述FASTJSON相对其他JSON库的特点是快,从2011年fastjson发布1.1.x版本之后,其性能从未被其他Java实现的JSON库超越。Fastjson2相对Fastjson1版本可以说是一次完全重构。这里从代码的角度,分析两者的一些区别;并总结一些新的,让小伙伴们使用Fastjson2或者进......
  • 在线直播源码,js 文件上传 图片上传 传输速度计算
    在线直播源码,js文件上传图片上传传输速度计算<!doctypehtml><html><head>  <metacharset="UTF-8">  <metaname="viewport"content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scal......
  • laravel:文件操作(10.27.0)
    一,相关文档:https://learnku.com/docs/laravel/10.x/filesystem/14865二,配置.env和config1,.env中IMG_HOST="http://192.168.219.6"IMG_DIR="/var/www/html"2,config/filesystems.php中:img部分是我们新添加配置'disks'=>[    'local&#......
  • vue 大文件分片上传(断点续传、并发上传、秒传)
    对于大文件的处理,无论是用户端还是服务端,如果一次性进行读取发送、接收都是不可取,很容易导致内存问题。所以对于大文件上传,采用切块分段上传,从上传的效率来看,利用多线程并发上传能够达到最大效率。本文是基于springboot+vue实现的文件上传,本文主要介绍vue实现文件上传的步骤......
  • ​​Android平台GB28181历史视音频文件回放规范解读及技术实现
     技术背景在实现GB28181历史视音频文件回放之前,我们已完成了历史视音频文件检索和下载,历史视音频回放,在GB28181平台非常重要,比如执法记录仪等前端设备,默认录像数据存储在前端设备侧,如果需要上传到平台统一保存,除了到工作站拷贝外,还可以通过GB28181的历史视音频文件下载到指挥中心......
  • git将本地文件上传到远程仓库
    git将本地文件上传到远程仓库#####要记住!>上传代码之前,一定要先下拉代码,如果有**冲突**(你和别人同时修改了某一个文件的某一行代码),那么就要先**解决冲突**,才能提交!------####这里以将自己的本地文件上传至git仓库为例1、首先进入需要上传的文件夹,鼠标右键点击**GitBashH......