Example #1
0
        /// <summary>
        /// job日志
        /// </summary>
        /// <param name="jobId"></param>
        /// <param name="excuteTime"></param>
        /// <param name="elapsedTime"></param>
        /// <param name="excuteResult"></param>
        /// <param name="ex"></param>
        public static void JobLog(JobExcuteDto jobDto)
        {
            LogDto log = new LogDto();

            log.LogSummary = jobDto.JobId;
            log.LogMessage = "";
            if (jobDto.EX != null)
            {
                log.LogMessage = $"{jobDto.EX.Message}:{jobDto.EX.StackTrace}";
            }
            log.LogTime      = jobDto.ExcuteTime;
            log.LogType      = 6;
            log.ElapsedTime  = (long)jobDto.ElapsedTime;
            log.ExcuteResult = jobDto.ExcuteResult;
            LogQueueInstance.Add(log);
        }
        public void OnPerformed(PerformedContext filterContext)
        {
            DateTime     startTime = jobDate.Value;
            DateTime     now       = DateTime.Now;
            JobExcuteDto jobLog    = new JobExcuteDto();

            Job job       = filterContext.BackgroundJob.Job;
            var jobParams = job.Args[0] as Dictionary <string, string>;

            jobLog.JobId      = jobParams["jobId"];
            jobLog.ExcuteTime = startTime;
            jobLog.EX         = filterContext.Exception.InnerException;
            if (jobLog.EX != null)
            {
                jobLog.ExcuteResult            = 1;
                filterContext.ExceptionHandled = true;
            }
            jobLog.ElapsedTime = (now - startTime).TotalMilliseconds;
            LoggerHelper.JobLog(jobLog);
        }