示例#1
0
        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);
            }
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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()"));
            }
        }