C#中定時任務和log4Net

 //定時任務 Quartz.net  (另外還有 hangfire)
            //計劃者(IScheduler) 工作(IJob) 觸發器(Trigger) 給計劃者一個工作 讓他在Trigger觸發的條件下執行工作
            //將要執行的任務的代碼寫到實現Ijob接口的Excute方法中即可,時間來到的時候Excute方法會被調用 
            //用法:1、安裝Quartz.net 版本變化大  所以要版本保持一致Quartz.net 2.5.0(Install-Package Quartz Version 2.5.0)
            //2、定義一個實現了IJob接口的類TestJob 把要執行的代碼寫入到Execute方法中
            //3、把下面代碼寫到程序中 初始化一次即可
            IScheduler sched =  new StdSchedulerFactory().GetScheduler();

            //當同時執行多個任務時 重複下面代碼即可  注意名字不能重複("jdTest","triggerTest")
            JobDetailImpl jbBossReport = new JobDetailImpl("jdTest", typeof(TestJob));
            IMutableTrigger triggerBossReport =  CronScheduleBuilder.DailyAtHourAndMinute(22, 25).Build();
            triggerBossReport.Key = new TriggerKey("triggerTest");
            sched.ScheduleJob(jbBossReport, triggerBossReport);

            sched.Start();
            /*
             CronScheduleBuilder 
             每月固定時間
              //每週五、日的13:55執行
            CronScheduleBuilder.AtHourAndMinuteOnGivenDaysOfWeek(13, 55, DayOfWeek.Friday, DayOfWeek.Sunday);
            //每月固定時間
            CronScheduleBuilder.WeeklyOnDayAndHourAndMinute();

            定時模式 CalendarIntervalScheduleBuilder
            CalendarIntervalScheduleBuilder builder = CalendarIntervalScheduleBuilder.Create();
            builder.WithInterval(3, IntervalUnit.Second); //每3s執行一次
            還有SimpleScheduleBuilder等,其實不用那麼多 太複雜自己寫crond表達式 https://www.cnblogs.com/junrong624/p/4239517.html
             */
 //log4NET 是一個java版的log4J移植過來的日誌框架 
        //級別:
        // trace、debug、info、warn、error、fatal ,常用debug(程序員臨時跟蹤執行,在正式項目中不應該執行)
        //特殊執行 :all(全部顯示)、off(全部不顯示)
        //append:可以把日誌輸出到控制檯 文件、數據庫、ftp服務器,甚至可以把日誌輸出到郵件短信等。不同場景就是不同的
        //appender 可以添加多個appender,可以設定不同級別使用不同appender

        //滾動日誌

        //1、InStall-Package Log4Net  //InStall-Package Log4Net -Version 2.0.8
        public Form1()
        {
            InitializeComponent();
            log4net.Config.XmlConfigurator.Configure();
            ILog log = LogManager.GetLogger(typeof(Form1));
            log.Debug("你好");
            log.Warn("錯誤");
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章