#region using System; using System.Collections.Generic; using System.Windows.Forms; #endregion namespace CSFrameworkV5.Common { /// /// 系统操作日志管理器,管理多种日志 /// public static class LogUserOperate { private static List _Logs; static LogUserOperate() { _Logs = new List(); } /// /// 已注册的日志实例 /// public static List Logs => _Logs; /// /// 登记日志实例,系统支持不同类型的日志 /// /// 日志实例 public static void RegisteLog(ILogUserOperate log) { if (_Logs == null) _Logs = new List(); _Logs.Add(log); } /// /// 写入日志 /// /// 日志内容 /// 宿主,调用日志接口的对象实例 public static void Write(string content, object host) { if (host != null) content = host.GetType().Name + ":" + content; foreach (var log in _Logs) log.WriteLog(content); } public static void Write(Exception ex) { if (ex == null) return; var type = ex is CustomException ? LogTypeSystem.CustomError : LogTypeSystem.Exception; foreach (var log in _Logs) log.WriteLog(type, ex.Message); } /// /// 写入指定类型的日志 /// /// /// public static void Write(LogTypeSystem type, string content) { if (string.IsNullOrEmpty(content)) return; foreach (var log in _Logs) log.WriteLog(type, content); } /// /// 写入日志 /// /// 日志内容 public static void Write(string content) { if (string.IsNullOrEmpty(content)) return; foreach (var log in _Logs) log.WriteLog(content); } /// /// 打开窗体动作写入日志 /// /// /// /// public static void WriteOpenFormLog(Form form, string content, string menuName) { if (form == null || string.IsNullOrEmpty(content)) return; foreach (var log in _Logs) log.WriteLog(LogTypeSystem.OpenForm, content, form.Name, form.Text, menuName); } } }