/// <summary> /// Writes the specified string log. /// </summary> /// <param name="log"> /// A string log. /// </param> /// <param name="visibility"> /// A ConsoleLogger.LogVisibility value that specifies the log visibility in Console. /// </param> public static void Write(string log, LogVisibility visibility, bool showLogTime) { WriteLog(log, visibility, false, showLogTime); }
/// <summary> /// Writes the string log to the output stream and the application log file. /// <para>This is a private method.</para> /// </summary> /// <param name="log"> /// A string log. /// </param> /// <param name="visibility"> /// A ConsoleLogger.LogVisibility value that specifies the log visibility in Console. /// </param> /// <param name="isNewLine"> /// A Boolean value that specifies whether to add the current line terminator after log or not. /// </param> private static void WriteLog(string log, LogVisibility visibility, bool isNewLine, bool showLogTime) { //bool result = false; string AppLogDirName = "ApplicationLog"; if (ConfigurationManager.AppSettings["ApplicationLogDirectory"] != null) { AppLogDirName = ConfigurationManager.AppSettings["ApplicationLogDirectory"].ToString(); } string AppLogDirPath = Directory.GetParent(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)).ToString() + "\\" + AppLogDirName; if (!Directory.Exists(AppLogDirPath)) { Directory.CreateDirectory(AppLogDirPath); } //string LogFileName = DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + ".log"; string LogFileName = DateTime.Now.ToString("yyyy-MM-dd") + ".log"; string AppLogFile = AppLogDirPath + "\\" + LogFileName; StreamWriter sw = null; try { if (File.Exists(AppLogFile)) { sw = new StreamWriter(AppLogFile, true); } else { sw = new StreamWriter(AppLogFile); } if (log != null) { if (log.ToLower().Contains("success!")) { Console.BackgroundColor = ConsoleColor.Green; Console.ForegroundColor = ConsoleColor.Black; } else if (log.ToLower().Contains("failed!")) { Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.Black; } else { Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.White; } if (isNewLine) { if (visibility == LogVisibility.Visible) { Console.WriteLine(log); } if (showLogTime) { sw.WriteLine("[" + LogTime + "] : " + log); } else { sw.WriteLine(log); } } else { Console.Write(log); if (showLogTime) { sw.Write("[" + LogTime + "] : " + log); } else { sw.Write(log); } } } else { if (visibility == LogVisibility.Visible) { Console.WriteLine(); } sw.WriteLine(); } sw.Flush(); sw.Close(); //result = true; } catch (Exception) { //result = false; } //return result; }
/// <summary> /// Writes the current line terminator. /// </summary> /// <param name="visibility"> /// A ConsoleLogger.LogVisibility value that specifies the log visibility in Console. /// </param> /// <param name="showLogTime"> /// A System.Boolean value that specifies whether to record the Time Stamp of Log on not. /// </param> public static void WriteLine(LogVisibility visibility, bool showLogTime) { WriteLine(null, visibility, showLogTime); }