using Kingdee.BOS; using Kingdee.BOS.ServiceHelper; using Newtonsoft.Json; using System; using System.Data; using System.IO; using System.Threading.Tasks; using zymes_Project.Utility; namespace zymes_Project { public class LogService { private static readonly object lockObj = new object(); public static void WriteAsync(object obj, string filePath = "Vlog", bool isAppend = true) { Task.Run(() => { Write(obj, filePath, isAppend); }); } public static void WriteAsync(object obj, string filePath = "Vlog", bool isAppend = true) { Task.Run(() => { Write(obj, $@"{filePath}\{typeof(T).Name}", isAppend); }); } #region 日志 public static void Write(object obj, string filePath = "Vlog", bool isAppend = true) { try { lock (lockObj) { filePath = $@"{filePath}\webapi{DateTime.Now.ToString("yyyyMMdd")}.txt"; filePath = AppDomain.CurrentDomain.BaseDirectory + filePath; if (!System.IO.Directory.Exists(Path.GetDirectoryName(filePath))) { System.IO.Directory.CreateDirectory(Path.GetDirectoryName(filePath)); } bool fileExists = System.IO.File.Exists(filePath); //不存在 则创建该文件 if (!fileExists) { System.IO.File.Create(filePath).Close(); } using (StreamWriter writer = new StreamWriter(filePath, isAppend)) { //存在的时候才写一行 if (fileExists && isAppend) { writer.WriteLine(); } var content = obj is string ? obj : JsonConvert.SerializeObject(obj); writer.WriteLine($"{DateTime.Now} {content}"); } } } catch (Exception ex) { } } #endregion public static DataTable Get_DisPlayOrg(Context Context, string FNUMBER) { string HOrganNumber = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "HOrganNumber"); string sql = ""; if (HOrganNumber.Contains(FNUMBER)) { sql = $@" /*dialect*/ select F_RCZU_MesIp ,FISNEEDPUSH from T_ORG_Organizations where FNUMBER ='{FNUMBER}'"; } else { sql = $@"select 0 as F_RCZU_MesIp, 0 as FISNEEDPUSH"; } DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0]; LogService.Write("查询语句:" + sql); return dt; } } }