Esempio n. 1
0
        private void Run()
        {
            m_mailService = EmailSenderServiceFactory.CreateLocalEmailSenderService();
            while (true)
            {
                EmailMessageBody emailMsgBody;
                if (m_queue.TryDequeue(out emailMsgBody))
                {
                    try
                    {
                        m_mailService.Send(emailMsgBody);
                    }
                    catch (Exception e)
                    {
                        var errMsg = GetExceptionMsg("发送邮件失败", e);
                        System.Console.WriteLine(errMsg);

                        try
                        {
                            TxtLogHelper.WriteLog(errMsg);
                        }
                        catch (Exception logException)
                        {
                            var logErrMsg = GetExceptionMsg("写Log文件失败", logException);
                            System.Console.WriteLine(logErrMsg);
                        }
                    }
                }
                else
                {
                    System.Threading.Thread.Sleep(500);
                }
            }
        }
Esempio n. 2
0
 private void DeleteLog()
 {
     try
     {
         TxtLogHelper.WriteLog("执行删除日志任务");
         DateTime date = DateTime.Now;
         if (date.Hour > 1)//一点前执行
         {
             return;
         }
         string path = System.Environment.CurrentDirectory + @"\\Log\\TCP\\";
         if (Directory.Exists(path))
         {
             DeleteFile(path, 3); //删除该目录下 超过 3天的文件
         }
         path = System.Environment.CurrentDirectory + @"\\Log\\UDP\\";
         if (Directory.Exists(path))
         {
             DeleteFile(path, 7); //删除该目录下 超过 7天的文件
         }
         path = System.Environment.CurrentDirectory + @"\\Log\\Info\\";
         if (Directory.Exists(path))
         {
             DeleteFile(path, 14); //删除该目录下 超过 14天的文件
         }
     }
     catch (Exception ex)
     {
         TxtLogHelper.WriteLog("执行删除日志任务异常:" + ex.Message);
     }
 }
Esempio n. 3
0
        /// <summary>
        ///
        /// </summary>
        public TimerManager(TcpManager _tcp)
        {
            tcp = _tcp;
            Thread t = new Thread(Load);

            t.Start();
            TxtLogHelper.WriteLog("启动定时任务");
        }
Esempio n. 4
0
 /// <summary>
 /// 调用方法
 /// </summary>
 private void RunMethod(object sender, System.Timers.ElapsedEventArgs e)
 {
     TxtLogHelper.WriteLog("开始执行定时任务");
     _timer.Enabled = false;
     try
     {
         DeleteLog();
     }
     catch (Exception ex)
     {
         TxtLogHelper.WriteLog("执行定时任务异常:" + ex.Message);
     }
     TxtLogHelper.WriteLog("定时任务执行结束");
     _timer.Enabled = true;
 }
Esempio n. 5
0
        /// <summary>
        /// 删除目录下超过指定天数的文件
        /// </summary>
        private void DeleteFile(string fileDirect, int saveDay)
        {
            DateTime nowTime = DateTime.Now;

            string[] files = Directory.GetFiles(fileDirect, "*.log", SearchOption.AllDirectories);  //获取该目录下所有 .txt文件
            foreach (string file in files)
            {
                FileInfo fileInfo = new FileInfo(file);
                TimeSpan t        = nowTime - fileInfo.CreationTime; //当前时间  减去 文件创建时间
                int      day      = t.Days;
                if (day > saveDay)                                   //保存的时间,单位:天
                {
                    try
                    {
                        System.IO.File.Delete(fileInfo.FullName); //删除文件
                    }
                    catch (Exception ex)
                    {
                        TxtLogHelper.WriteLog("删除日志文件异常:" + ex.Message);
                    }
                }
            }
        }