#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);
}
}
}