public bool Save(Exception exception) { try { Save(FormatLogg(ToFriendlyError(exception))); return(true); } catch (Exception e) { Console.WriteLine(e); return(false); } finally { OnNewLog?.Invoke(this, new CustomLoggArgs { Exception = exception }); } }
public bool Save(string message) { try { File.AppendAllText("Loggs.txt", message); return(true); } catch (Exception e) { Console.WriteLine(e); return(false); } finally { OnNewLog?.Invoke(this, new CustomLoggArgs { Exception = new Exception(message) }); } }
public bool Save(Exception exception) { try { File.AppendAllText("Loggs.txt", FormatLogg(exception.ToFriendlyError())); return(true); } catch (Exception e) { Console.WriteLine(e); return(false); } finally { OnNewLog?.Invoke(this, new CustomLoggArgs { Exception = exception }); } }
private void Setup() { Task.Run(async() => { await Ping("Setup.1"); Common.Logger.Info("Begin loading initial log data"); Stopwatch stopwatch = Stopwatch.StartNew(); Task <List <Log> > cacheTask = GetCache(); List <Log> cache = cacheTask.GetAwaiter().GetResult(); _data.Enqueue(cache); stopwatch.Stop(); Common.Logger.Info("Initial log data loaded", new Fields { { "Count", cache.Count }, { "Time (ms)", stopwatch.ElapsedMilliseconds } }); OnNewLog?.Invoke(null); }); OnConnected -= Setup; }
private void RaiseNewLogEvent(Exception ex) { OnNewLog?.Invoke(this, new NewLogEventArgs(ex)); }
private void RaiseNewLogEvent(string log) { OnNewLog?.Invoke(this, new NewLogEventArgs(log)); }
private async void Read(string hostname) { while (true) { try { _client = new TcpClient(hostname, 64417); _stream = _client.GetStream(); _reader = new StreamReader(_stream); if (!_connected) { OnConnected?.Invoke(); } _connected = true; } catch (Exception e) { Common.Logger.Warning("Failed to connect to server; retrying...", e: e, meta: new Fields { { "Hostname", hostname } }); Thread.Sleep(1000); if (_connected) { OnDisconnected?.Invoke(); } _connected = false; continue; } try { string line; while ((line = (await _reader.ReadLineAsync()) !) != null) { string cmd = line.Contains(" ") ? line.Substring(0, line.IndexOf(" ", StringComparison.Ordinal)) : line; string val = line.Substring(line.IndexOf(" ", StringComparison.Ordinal) + 1); if (cmd != "query" && cmd != "gen_oui.gen_progress") { Common.Logger.Debug($"NetMgr <- {cmd}"); } switch (cmd) { case "ping": await Send("ping.pong"); break; case "ping.pong": _pongEvent.Release(); break; case "get_cache.cache": List <Log> logs = JsonConvert.DeserializeObject <List <Log> >(val); await _cacheChannel.Writer.WriteAsync(logs); break; case "query": Log log = JsonConvert.DeserializeObject <Log>(val); Common.Logger.Debug($"Incoming: {log}"); _data.Enqueue(log); OnNewLog?.Invoke(log); break; case "gen_rules.sources": case "gen_rules.gen_progress": case "gen_rules.save_progress": case "gen_rules.saved_in": OnGenRulesCallback?.Invoke(val); break; case "gen_rules.complete": GeneratingRules = false; OnGenRulesChange?.Invoke(); break; case "gen_oui.gen_progress": OnGenOUICallback?.Invoke(val); break; case "gen_oui.generated_in": GeneratingOUI = false; OnGenOUIChange?.Invoke(); break; case "reload_config.complete": _reloadConfigCompleteEvent.Release(); break; case "reload_blacklist.reload_progress": case "reload_blacklist.reloaded_in": OnReloadBlacklistStatusCallback?.Invoke(val); break; case "reload_blacklist.contradb_offline": ReloadingBlacklist = false; OnReloadBlacklistErrorCallback?.Invoke(val); OnReloadBlacklistChange?.Invoke(); break; case "reload_blacklist.complete": ReloadingBlacklist = false; OnReloadBlacklistChange?.Invoke(); break; case "reload_whitelist.complete": ReloadingWhitelist = false; OnReloadWhitelistChange?.Invoke(); break; case "reload_whitelist.contradb_offline": case "reload_whitelist.error": ReloadingWhitelist = false; OnReloadWhitelistErrorCallback?.Invoke(val); OnReloadWhitelistChange?.Invoke(); break; default: Common.Logger.Error( $"Unmatched command received from NetManagerClient: {cmd}", new InvalidOperationException() ); break; } } } catch (Exception e) { Common.Logger.Warning("Failed to read from server; reconnecting...", e, new Fields { { "Hostname", hostname } }); Thread.Sleep(1000); OnDisconnected?.Invoke(); } } }