using Grpc.Extension.Abstract.Model;
using System;
namespace Grpc.Extension.Abstract
{
///
/// 日志访问
///
public class LoggerAccessor
{
///
/// LoggerError
///
///
///
public delegate void LoggerErrorAction(Exception ex, LogType logType = LogType.ServerLog);
///
/// LoggerMonitor
///
///
///
public delegate void LoggerMonitorAction(string msg, LogType logType = LogType.ServerLog);
private static Lazy instance = new Lazy(() => new LoggerAccessor(), true);
///
/// Instance
///
public static LoggerAccessor Instance
{
get { return instance.Value; }
}
private LoggerAccessor()
{
}
///
/// 写异常日志
///
public event LoggerErrorAction LoggerError;
///
/// 触发写异常日志
///
///
///
public void OnLoggerError(Exception ex, LogType logType = LogType.ServerLog)
{
LoggerError?.Invoke(ex, logType);
}
///
/// 写监控日志
///
public event LoggerMonitorAction LoggerMonitor;
///
/// 触发写监控日志
///
///
///
public void OnLoggerMonitor(string msg, LogType logType = LogType.ServerLog)
{
LoggerMonitor?.Invoke(msg, logType);
}
}
}