protected internal override void Write(Datum aggregatedDatum, object batchContext, object typeContext) { if (!App.Active) { return; } if (UseLog) { base.Write(aggregatedDatum, batchContext, typeContext); } var node = ReceiverNode; if (node.IsNullOrWhiteSpace()) { return; } string site; if (SiteName.IsNotNullOrWhiteSpace()) { site = SiteName; } else { site = "{0}::{1}@{2}".Args(App.Name, App.InstanceId, System.Environment.MachineName); } try { if (m_Client == null) { m_Client = new TelemetryReceiverClient(App.Glue, ReceiverNode); } m_Client.Send(site, aggregatedDatum); } catch (Exception error) { cleanupClient(); WriteLog(MessageType.Error, nameof(Write), error.ToMessageWithType(), error); } }
private void cleanupClient() { var cl = m_Client; if (cl == null) { return; } try { m_Client = null; cl.Dispose(); } catch (Exception error) { WriteLog(MessageType.Error, nameof(cleanupClient), error.ToMessageWithType(), error); } }
private void cleanupClient() { var cl = m_Client; if (cl == null) { return; } try { m_Client = null; cl.Dispose(); } catch (Exception error) { WriteLog(MessageType.Error, error.ToMessageWithType(), from: "{0}.{1}".Args(GetType().Name, "cleanupClient()")); } }