/// <summary> /// 记录错误日志 /// </summary> private void LogWriter() { // 开启一个线程,扫描异常信息队列 System.Threading.ThreadPool.QueueUserWorkItem(a => { while (true) { // 检查队列中是否存在数据 if (ErrorHandlingMiddleware.ExceptionQueue.Count > 0) { // 将异常对象从队列中拿出来 Exception exception = ErrorHandlingMiddleware.ExceptionQueue.Dequeue(); // 若异常对象不为空则记录日志 if (null != exception) { // 记录错误到日志文件 NLogHelper.Write("execption", exception.ToString()); } else { // 若异常对象为空则休眠三秒钟 System.Threading.Thread.Sleep(3000); } } else { // 若队列中没有数据则休眠三秒钟 System.Threading.Thread.Sleep(3000); } } }); }