/// <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(); }
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()); }