Пример #1
0
        /// <summary>
        /// 发送客服消息
        /// </summary>
        /// <param name="access_Token">微信号access_Token</param>
        /// <param name="account"></param>
        /// <returns></returns>
        public static ResponseState SendMessage(string access_Token, string openID, CustomMessage message)
        {
            string post = message.ToString();

            string url = Setting.ApiUrl + "customservice/kfaccount/del?access_token=" + access_Token;

            string response = DownJsonData(url, post);

            return(DeSerialize <ResponseState>(response));
        }
        /// <summary>
        /// Copies exception details to clipboard
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cmdCopy_Click(object sender, EventArgs e)
        {
            string copyText = string.Format("{0}{1}{1}{2}{1}{3}", CustomMessage?.ToString(), System.Environment.NewLine,
                                            ExceptionObject.Message.ToString(), ExceptionObject.StackTrace.ToString());

            Clipboard.Clear();
            Clipboard.SetText(copyText);

            Close();
        }
        /// <summary>
        /// Writes exception details to file in the same folder than executable application.
        /// Opens de newly created file.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cmdSaveToFile_Click(object sender, EventArgs e)
        {
            string copyText = string.Format("# {0}{1}{1}## {2}{1}{3}", CustomMessage?.ToString(), System.Environment.NewLine,
                                            ExceptionObject.Message.ToString(), ExceptionObject.StackTrace.ToString());
            //Save this text to a file
            string path = Application.StartupPath + "\\" + String.Format("T3000Exception-{0}{1}{2}{3}{4}.txt", DateTime.Now.Year, DateTime.Now.Month.ToString("00"), DateTime.Now.Day.ToString("00"), DateTime.Now.Hour.ToString("00"), DateTime.Now.Minute.ToString("00"));

            File.WriteAllText(path, copyText);
            //MessageBox.Show("Exception details written to file: " + path);
            ProcessStartInfo psi = new ProcessStartInfo(path);

            psi.UseShellExecute = true;
            Process.Start(psi);

            Close();
        }
Пример #4
0
        public void AppendWithCustomPerMessageProperties()
        {
            var testAppender = new TestGelf4NetAppenderWrapper();
            testAppender.RemoteAddress = "127.0.0.1";
            testAppender.AdditionalFields = "global1:foo,global2:bar";
            testAppender.ActivateOptions();

            var data = new LoggingEventData
                {
                    Domain = GetType().Name,
                    Level = Level.Debug,
                    LoggerName = "PerMessageProperties",
                    TimeStamp = DateTime.UtcNow,
                    UserName = "******"
                };

            var messageObject = new CustomMessage { ShortMessage = "This is a custom message to test per-message fields and overrides.", CustomFields = new Dictionary<string, string> { { "message1", "baz" }, { "message2", "baf" }, { "message3", "woohoo" } } };
            data.Message = messageObject.ToString();
            var logEvent = new LoggingEvent(GetType(), new Hierarchy(), data.LoggerName, data.Level, messageObject, new InvalidOperationException("This is a test exception!"));

            testAppender.TestAppend(logEvent);

            JObject gelfMessage = JObject.Parse(testAppender.LastMessage);

            Assert.AreEqual(gelfMessage["_global1"].ToString(), "foo");
            Assert.AreEqual(gelfMessage["_global2"].ToString(), "bar");
            Assert.AreEqual(gelfMessage["_message1"].ToString(), "baz");
            Assert.AreEqual(gelfMessage["_message2"].ToString(), "baf");
            Assert.AreEqual(gelfMessage["_message3"].ToString(), "woohoo");
            Assert.AreEqual(messageObject.ShortMessage, gelfMessage["short_message"].ToString());
        }