예제 #1
0
        private void ProcessQueue(LogLineType type)
        {
            var lines = queue.FindAll(x => x.Type == type);

            if (lines != null && lines.Count > 0)
            {
                try
                {
                    if (!Directory.Exists(Logger.OutputLogPath))
                    {
                        Directory.CreateDirectory(Logger.OutputLogPath);
                    }

                    string filename = "Log-" + Logger.FormatDate(DateTime.Now) + ".log";

                    string path = null;

                    switch (type)
                    {
                    case LogLineType.Debug: path = Path.Combine(Logger.OutputLogPath, Logger.OUTPUT_DIRECTORY_DEBUG, filename); break;

                    case LogLineType.Error: path = Path.Combine(Logger.OutputLogPath, Logger.OUTPUT_DIRECTORY_ERROR, filename); break;

                    case LogLineType.Notification: path = Path.Combine(Logger.OutputLogPath, Logger.OUTPUT_DIRECTORY_NOTIFICATION, filename); break;

                    case LogLineType.Warning: path = Path.Combine(Logger.OutputLogPath, Logger.OUTPUT_DIRECTORY_WARNING, filename); break;
                    }

                    // Write to Log File
                    using (var stream = new FileStream(path, FileMode.Append, FileAccess.Write, FileShare.Write))
                    {
                        using (var writer = new StreamWriter(stream))
                        {
                            foreach (Line line in lines)
                            {
                                writer.WriteLine(line);
                            }
                        }
                    }
                }
                catch (Exception ex) { Console.WriteLine("ProcessQueue(LogLineType) :: Exception :: " + type.ToString() + " :: " + ex.Message); }
            }
        }
예제 #2
0
        private void ProcessQueue(LogLineType type)
        {
            var lines = queue.FindAll(x => x.Type == type);
            if (lines != null && lines.Count > 0)
            {
                try
                {
                    if (!Directory.Exists(Logger.OutputLogPath)) Directory.CreateDirectory(Logger.OutputLogPath);

                    string filename = "Log-" + Logger.FormatDate(DateTime.Now) + ".log";

                    string path = null;

                    switch (type)
                    {
                        case LogLineType.Debug: path = Path.Combine(Logger.OutputLogPath, Logger.OUTPUT_DIRECTORY_DEBUG, filename); break;
                        case LogLineType.Error: path = Path.Combine(Logger.OutputLogPath, Logger.OUTPUT_DIRECTORY_ERROR, filename); break;
                        case LogLineType.Notification: path = Path.Combine(Logger.OutputLogPath, Logger.OUTPUT_DIRECTORY_NOTIFICATION, filename); break;
                        case LogLineType.Warning: path = Path.Combine(Logger.OutputLogPath, Logger.OUTPUT_DIRECTORY_WARNING, filename); break;
                    }

                    // Write to Log File
                    using (var stream = new FileStream(path, FileMode.Append, FileAccess.Write, FileShare.Write))
                    {
                        using (var writer = new StreamWriter(stream))
                        {
                            foreach (Line line in lines)
                            {
                                writer.WriteLine(line);
                            }
                        }
                    }
                }
                catch (Exception ex) { Console.WriteLine("ProcessQueue(LogLineType) :: Exception :: " + type.ToString() + " :: " + ex.Message); }
            }
        }
예제 #3
0
        private void ProcessQueue(LogLineType type)
        {
            var lines = queue.FindAll(x => x.Type == type);

            if (lines != null && lines.Count > 0)
            {
                try
                {
                    if (!Directory.Exists(Logger.OutputLogPath))
                    {
                        Directory.CreateDirectory(Logger.OutputLogPath);
                    }

                    string path = @"\Log-" + Logger.FormatDate(DateTime.Now) + ".xml";

                    switch (type)
                    {
                    case LogLineType.Debug: path = Path.Combine(Logger.OutputLogPath, Logger.OUTPUT_DIRECTORY_DEBUG, path); break;

                    case LogLineType.Error: path = Path.Combine(Logger.OutputLogPath, Logger.OUTPUT_DIRECTORY_ERROR, path); break;

                    case LogLineType.Notification: path = Path.Combine(Logger.OutputLogPath, Logger.OUTPUT_DIRECTORY_NOTIFICATION, path); break;

                    case LogLineType.Warning: path = Path.Combine(Logger.OutputLogPath, Logger.OUTPUT_DIRECTORY_WARNING, path); break;
                    }

                    // Create Log (XmlDocument)
                    XmlDocument doc = CreateDocument(path);

                    foreach (Line line in lines)
                    {
                        AddToLog(doc, line);
                    }

                    XML.Files.WriteDocument(doc, path);
                }
                catch (Exception ex) { Console.WriteLine("ProcessQueue(LogLineType) :: Exception :: " + type.ToString() + " :: " + ex.Message); }
            }
        }