学习笔记-输出日志功能原创
金蝶云社区-请输入昵称___
请输入昵称___
5人赞赏了该文章 210次浏览 未经作者许可,禁止转载编辑于2024年01月19日 14:41:44

日志记录一般分三种情况:1记录到标准的上机操作日志中2.记录到日志文件中3.自定义一个日志单据用于记录。


1.记录到上机操作日志中

public static void writeLogBySyslog(Context ctx, string title, string body,string fid,string pkid)
		{
			List<LogObject> list = new List<LogObject>();
			LogObject logObject = new LogObject();
			logObject.pkValue =pkid;
			logObject.Description = body;
			logObject.OperateName = title;
			list.Add(logObject);
			LogServiceHelper.BatchWriteLog(ctx, list);
		}

2.记录到自定义单据中,日志详情可按段分割多字段存储。

public static void writeLogByBll(Context ctx, string title, string body, string stataus, string fid, string pkid,  string moreinfo) {
			int strlen = 10000;
            FormMetadata materialMetadata = MetaDataServiceHelper.Load(ctx, formId) as FormMetadata;
			ISaveService saveService = Kingdee.BOS.App.ServiceHelper.GetService<ISaveService>();
			DynamicObject dynamicObject = new DynamicObject(materialMetadata.BusinessInfo.GetDynamicObjectType());
			dynamicObject["FTITLE"] = title;
			dynamicObject["FBODY"] = body;
			dynamicObject["FFORMID"] = fid;
			dynamicObject["FPKID"] = pkid;
			dynamicObject["Fstataus"] = stataus;
			for (int i = 0; i < moreinfo.Length / strlen + 1; i++)
			{
				string colname = "FINFO_" + i.ToString();
				if (!dynamicObject.DynamicObjectType.Properties.Contains(colname)) {
					break;
				}
				if ((i * strlen + strlen) <= moreinfo.Length)
				{
					dynamicObject[colname] =moreinfo.Substring(i * strlen, strlen);
				}
				else
				{
					dynamicObject[colname] =moreinfo.Substring(i * strlen);
				}
			}
			IOperationResult operationResult = saveService.Save(ctx, materialMetadata.BusinessInfo, new DynamicObject[]
			{
				dynamicObject
			}, null, "");

		}

3.记录到日志文件中

public static void WriteLogByFile(string fileName,string str)
		{
			string text = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "ORALOG";
			bool flag = !Directory.Exists(text);
			if (flag)
			{
				Directory.CreateDirectory(text);
			}
			string path = text + "\\" + fileName;
			
				StreamWriter streamReader = new StreamWriter(path, true);
				streamReader.WriteLine(str);
				streamReader.Close();
				streamReader.Dispose();
		}


赞 5