/// <summary> /// Метод пишет текст в лог, в форму и в файл log.log. Запись времени опциональна /// </summary> /// <param name="mType">Тип Сообщения</param> /// <param name="text">Текст, который будет записан в лог</param> /// <param name="addTimeStamp">Добавить дату и время к записи, true - добавить, false - не добавлять</param> private static void Add(setMessageType mType, string text, bool addTimeStamp = true) { string textToWrite = addTimeStamp == true? String.Format("[{0}] {1} \r\n", DateTime.Now.ToString("HH:mm:ss"), text) : String.Format(" {0}\r\n ", text); string textToHTML = textToWrite; System.Drawing.Color Color = System.Drawing.Color.Black; switch (mType) { case setMessageType.normal: Color = System.Drawing.Color.Black; textToHTML = "<font size=\"2\" face=\"Verdana\">" + textToWrite + "</font>"; break; case setMessageType.error: Color = System.Drawing.Color.Red; textToHTML = "<font size=\"2\" face=\"Verdana\" color=\"red\">" + textToWrite + "</font><br/><a href=\"" + ScreenCapture.Printscreen() + "\" target=\"_blank\">скриншот</a><br/><br/>"; textToWrite += "\r\n" + "file:/" + StartupPath + ScreenCapture.Printscreen().Replace("/", "\\") + " \r\n\r\n"; break; case setMessageType.pass: Color = System.Drawing.Color.Green; textToHTML = "<font size=\"2\" face=\"Verdana\" color=\"green\">" + textToWrite + "</font>"; break; case setMessageType.question: Color = System.Drawing.Color.Goldenrod; textToHTML = "<font size=\"2\" face=\"Verdana\" color=\"goldenrod\">" + textToWrite + "</font>"; break; case setMessageType.longJSerror: string spanID = DateTime.Now.Ticks.ToString(); Log.MesError("<div style=\"margin: 0px 0px 0px 50px;\"><font size=\"2\" face=\"Verdana\"><a class=\"plus\"" + " href=\"\" onclick=\"return collapse('" + spanID + "', this)\">" + textToWrite + "-> JS ошибка </a></font></div><br><span style=\"display:none;\" id=\"" + spanID + "\">" + text + "</span>"); break; } MainForm.form.tbLog.SelectionColor = Color; MainForm.form.tbLog.AppendText(textToWrite); MainForm.form.tbLog.Refresh(); File.AppendAllText(StartupPath + "log.html", "<pre style=\"margin: 0px 0px 0px 50px;\">" + textToHTML + "</pre>", Encoding.UTF8); }
/// <summary> /// Метод пишет текст в лог, в форму и в файл log.log. Запись времени опциональна /// </summary> /// <param name="mType">Тип Сообщения</param> /// <param name="text">Текст, который будет записан в лог</param> /// <param name="addTimeStamp">Добавить дату и время к записи, true - добавить, false - не добавлять</param> private static void Add(setMessageType mType, string text, bool addTimeStamp = true) { string textToWrite = addTimeStamp == true ? String.Format("[{0}] {1} \r\n", DateTime.Now.ToString("HH:mm:ss"), text) : String.Format(" {0}\r\n ", text); string textToHTML = textToWrite; System.Drawing.Color Color = System.Drawing.Color.Black; switch (mType) { case setMessageType.normal: Color = System.Drawing.Color.Black; textToHTML = "<font size=\"2\" face=\"Verdana\">" + textToWrite + "</font>"; break; case setMessageType.error: Color = System.Drawing.Color.Red; textToHTML = "<font size=\"2\" face=\"Verdana\" color=\"red\">" + textToWrite + "</font><br/><a href=\"" + ScreenCapture.Printscreen() + "\" target=\"_blank\">скриншот</a><br/><br/>"; textToWrite += "\r\n" + "file:/" + StartupPath + ScreenCapture.Printscreen().Replace("/", "\\") + " \r\n\r\n"; break; case setMessageType.pass: Color = System.Drawing.Color.Green; textToHTML = "<font size=\"2\" face=\"Verdana\" color=\"green\">" + textToWrite + "</font>"; break; case setMessageType.question: Color = System.Drawing.Color.Goldenrod; textToHTML = "<font size=\"2\" face=\"Verdana\" color=\"goldenrod\">" + textToWrite + "</font>"; break; case setMessageType.longJSerror: string spanID = DateTime.Now.Ticks.ToString(); Log.MesError("<div style=\"margin: 0px 0px 0px 50px;\"><font size=\"2\" face=\"Verdana\"><a class=\"plus\"" + " href=\"\" onclick=\"return collapse('" + spanID + "', this)\">" + textToWrite + "-> JS ошибка </a></font></div><br><span style=\"display:none;\" id=\"" + spanID + "\">" + text + "</span>"); break; } MainForm.form.tbLog.SelectionColor = Color; MainForm.form.tbLog.AppendText(textToWrite); MainForm.form.tbLog.Refresh(); File.AppendAllText(StartupPath + "log.html", "<pre style=\"margin: 0px 0px 0px 50px;\">" + textToHTML + "</pre>", Encoding.UTF8); }