コード例 #1
0
 /// <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);
 }
コード例 #2
0
        /// <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;
        }
コード例 #3
0
 /// <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);
 }