using Wood.Entity.SystemManage; using Wood.Util; namespace Wood.EventBus.Events { public class LogExceptionEvent : IntegrationEvent { public LogExceptionEvent(object? payload) { Payload = payload; } public static LogExceptionEvent NewEvent() { LogExceptionEntity entity = new LogExceptionEntity(); entity.LogDateTime = DateTime.Now; return new LogExceptionEvent(entity); } public static LogExceptionEvent NewEvent(Exception ex) { LogExceptionEntity entity = new LogExceptionEntity(); entity.LogDateTime = DateTime.Now; entity.ExceptionStackTrace = ex.StackTrace; entity.Exception = ex.Message; entity.Message = ex.GetFullExceptionMessage(); return new LogExceptionEvent(entity); } /// /// 发布错误日志事件 /// /// 错误信息 /// 来源url 或者 jobid /// 来源controller 或者 job class name /// 来源action 或者 job method name public static LogExceptionEvent NewEvent(Exception ex, string requestUrl, string controller, string action) { LogExceptionEntity entity = new LogExceptionEntity(); entity.LogDateTime = DateTime.Now; entity.ExceptionStackTrace = ex.StackTrace; entity.Exception = ex.Message; entity.Message = ex.GetFullExceptionMessage(); entity.ControllerName = controller; entity.ActionName = action; entity.RequestUrl = requestUrl; return new LogExceptionEvent(entity); } } }