示例#1
0
        public void Write(string body, string further, string meth = null, string pth = null, int ln = 0)
        {
#endif
            MessageMetadata mmd = new MessageMetadata(meth, pth, ln);
            mmd.CommandType    = TraceCommandTypes.Custom;
            mmd.Body           = body;
            mmd.FurtherDetails = further;

            if (IsWriting)
            {
                router.PrepareMetaData(mmd, config.metaContexts);
                router.QueueMessage(mmd);
            }
        }
示例#2
0
        private void AlertQueue(string message, Dictionary <string, string> values)
        {
            string meth = "-ba-alert-";
            string pth  = "alerting";
            int    ln   = 0;

            MessageMetadata mmd = new MessageMetadata(meth, pth, ln);

            mmd.CommandType    = TraceCommandTypes.Alert;
            mmd.Body           = message;
            mmd.FurtherDetails = JsonTheValues(values);

            rt.PrepareMetaData(mmd, alertingContexts);
            rt.QueueMessage(mmd);
        }
        protected virtual void ActiveRouteMessage(MessageMetadata mmd)
        {
#if DEBUG
            if (mmd == null)
            {
                throw new ArgumentNullException(nameof(mmd));
            }
            if (sets == null)
            {
                throw new InvalidOperationException("Settings must be set before this call. DevFault");
            }
            if (sets.metaContexts == null)
            {
                throw new InvalidOperationException("Settings.MetaContexts must be set before this call. DevFault");
            }
#endif

            // Some methods pass all this context around so the can call this directly.  All of the shared routing info should be done her
            // with the other overload only used to call this one.

            router.PrepareMetaData(mmd, sets.metaContexts);
            router.QueueMessage(mmd);
        }