public virtual void Run() { try { if (IsExecuting) { Log4netUtil.Warn("请注意,作业【" + this.name + "】正在执行,请稍后"); return; } IRunInterface irun = this.TaskStarter.CreateInstance(this); if (irun == null) { Log4netUtil.Warn("作业【" + this.name + "】未找到对应的执行接口"); return; } IsExecuting = true; Log4netUtil.Debug("作业【" + this.name + "】开始执行"); irun.Run(); Tools.FlushMemory(); Log4netUtil.Debug("作业【" + this.name + "】执行结束"); IsExecuting = false; } catch (Exception ex) { Tools.FlushMemory(); Log4netUtil.Error("作业【" + this.name + "】执行发生异常" + ex.Message, ex); IsExecuting = false; } }
private void btnPause_Click(object sender, EventArgs e) { try { GlobalInstanceManager <SchedulerManager> .Intance.PauseAll(); Log4netUtil.Debug("暂停调度器成功"); foreach (TreeListNode item in this.treeList1.Nodes) { item.StateImageIndex = 6; } } catch (Exception ex) { Log4netUtil.Debug("暂停调度器失败:" + ex.Message); } }
static object lockLog = new object();//日志锁 public static void Init() { var builder = new ConfigurationBuilder() .SetBasePath(AppDomain.CurrentDomain.BaseDirectory) .AddJsonFile("appsettings.json", false); var configuration = builder.Build(); //加载配置到全局 GlobalConfig.ConnetionString = configuration.GetValue <string>("DBConfig:ConnetionString"); GlobalConfig.NatPort = configuration.GetValue <int>("ServerConfig:NatPort"); GlobalConfig.ServerPort = configuration.GetValue <int>("ServerConfig:ServerPort"); GlobalConfig.DefaultUrl = configuration.GetValue <string>("ServerConfig:DefaultUrl"); GlobalConfig.RegRoleId = configuration.GetValue <string>("ServerConfig:RegRoleId"); var repository = LogManager.CreateRepository("NETCoreRepository"); XmlConfigurator.Configure(repository, new FileInfo("log4net.config")); Log4netUtil.LogRepository = repository;//类库中定义的静态变量 LogHelper.WriteLog += (level, log, isPrint) => { lock (lockLog) { switch (level) { case LogLevel.Debug: Log4netUtil.Debug(log); break; case LogLevel.Information: Console.ForegroundColor = ConsoleColor.Green; Log4netUtil.Info(log); break; case LogLevel.Warning: Console.ForegroundColor = ConsoleColor.Yellow; Log4netUtil.Warn(log); break; case LogLevel.Error: Console.ForegroundColor = ConsoleColor.Red; Log4netUtil.Error(log); break; case LogLevel.Critical: Console.ForegroundColor = ConsoleColor.DarkRed; Log4netUtil.Fatal(log); break; default: Console.ForegroundColor = ConsoleColor.Green; Log4netUtil.Info(log); break; } if (isPrint) { Console.Write(LogHelper.GetString(level)); Console.ResetColor(); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss,ffff} {log}"); } } }; Task.Run(() => { while (true) { //更新假在线的主机 var bll = new ClientBll(); var res = bll.UpdateOfflineClient(); LogHelper.Info(res.Message, false); Thread.Sleep(60000); } }); var appSettingSetion = configuration.GetSection("AppSettingConfig"); var appSettingConfig = appSettingSetion.Get <AppSettingConfig>(); AppDomain.CurrentDomain.UnhandledException -= CurrentDomain_UnhandledException; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; }
private void ConsoleFrm_Load(object sender, EventArgs e) { GlobalInstanceManager <ConsoleLogHelper> .Intance.noticeConsoleLog += Intance_noticeConsoleLog; Log4netUtil.Debug("控制台日志开启"); }
static object lockLog = new object();//日志锁 public static void Start() { Task.Run(() => { try { //初始化配置 var builder = new ConfigurationBuilder() .SetBasePath(AppDomain.CurrentDomain.BaseDirectory) .AddJsonFile("appsettings.json", false); var configuration = builder.Build(); Secret = configuration.GetValue <string>("Secret"); ServerUrl = configuration.GetValue <string>("ServerUrl"); ServerPort = configuration.GetValue <int>("ServerPort"); NatPort = configuration.GetValue <int>("NatPort"); var repository = LogManager.CreateRepository("NETCoreRepository"); XmlConfigurator.Configure(repository, new FileInfo("log4net.config")); Log4netUtil.LogRepository = repository;//类库中定义的静态变量 LogHelper.WriteLog += (level, log, isPrint) => { lock (lockLog) { switch (level) { case LogLevel.Debug: Log4netUtil.Debug(log); break; case LogLevel.Information: Console.ForegroundColor = ConsoleColor.Green; Log4netUtil.Info(log); break; case LogLevel.Warning: Console.ForegroundColor = ConsoleColor.Yellow; Log4netUtil.Warn(log); break; case LogLevel.Error: Console.ForegroundColor = ConsoleColor.Red; Log4netUtil.Error(log); break; case LogLevel.Critical: Console.ForegroundColor = ConsoleColor.DarkRed; Log4netUtil.Fatal(log); break; default: Console.ForegroundColor = ConsoleColor.Green; Log4netUtil.Info(log); break; } if (isPrint) { Console.Write(LogHelper.GetString(level)); Console.ResetColor(); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss,ffff} {log}"); } } }; //连接服务器 ConnectNatServer(); //开启重连线程 reConnectThread = new Thread(ReConnect) { IsBackground = true }; reConnectThread.Start(); //开启心跳线程 heartThread = new Thread(SendHeart) { IsBackground = true }; heartThread.Start(); } catch (Exception ex) { LogHelper.Info($"Start Error:{ex}"); } }); }