private void AddNewCustomLogPattern(LogPattern logPattern)
 {
     this.patternManager.CustomPatterns.Add(logPattern);
     this.RefreshCustomPatterns();
     this.customPatternsListBox.SelectedItem = logPattern;
     this.fileMaskEdit.Focus();
 }
        private void LoadSelectedItem()
        {
            LogPattern item = this.GetSelectedItem();

            if (item != null)
            {
                this.fileMaskEdit.Text   = item.FileMask;
                this.patternEdit.Text    = item.PatternText;
                this.dateFormatEdit.Text = item.DateTimeFormat;
                this.editSelectedPatternGroupBox.Enabled = true;

                bool enableEdit = this.SelectedItemIsCustom;
                this.fileMaskEdit.Enabled   = enableEdit;
                this.patternEdit.Enabled    = enableEdit;
                this.dateFormatEdit.Enabled = enableEdit;
                this.patternTextPatternsListView.Enabled = enableEdit;
                this.dateFormatPatternsListView.Enabled  = enableEdit;
            }
            else
            {
                this.fileMaskEdit.Text   = String.Empty;
                this.patternEdit.Text    = String.Empty;
                this.dateFormatEdit.Text = String.Empty;
                this.editSelectedPatternGroupBox.Enabled = false;
            }
        }
Пример #3
0
        static void Main(string[] args)
        {
            var file = "logfile.log";

            System.IO.File.Delete(file);
            LogPattern.DoLog(args,
                             line =>
            {
                System.IO.File.AppendAllText(file,
                                             $"{DateTime.Now:yyyy/mm/dd HH:mm:ss} INFO {line}{Environment.NewLine}");
            });
Пример #4
0
        static void Main(string[] args)
        {
            foreach (var file in Directory.GetFiles(Directory.GetCurrentDirectory(), "*.log",
                                                    SearchOption.AllDirectories))
            {
                File.Delete(file);
            }

            Log.Logger = new LoggerConfiguration()
                         .WriteTo.File("log.serilog.log", buffered: true, flushToDiskInterval: TimeSpan.FromMilliseconds(1000))
                         .CreateLogger();

            LogPattern.DoLog(args, line => { Log.Information(line); });
        }
Пример #5
0
        static void Main(string[] args)
        {
            var file = "logstream.log";

            System.IO.File.Delete(file);

            using (var stream = new FileStream(file, FileMode.Append, FileAccess.Write))
            {
                LogPattern.DoLog(args, line =>
                {
                    var data = Encoding.UTF8.GetBytes(
                        $"{DateTime.Now:yyyy/mm/dd HH:mm:ss} INFO {line}{Environment.NewLine}");
                    stream.Write(data);
                });
        private void removeButton_Click(object sender, EventArgs e)
        {
            LogPattern pattern = this.GetSelectedItem();

            if (pattern == null)
            {
                return;
            }

            if (MessageBox.Show(String.Format("Do you want to remove {0} pattern?", pattern), "Remove custom pattern", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                this.patternManager.CustomPatterns.Remove(pattern);
                this.RefreshCustomPatterns();
            }
        }
Пример #7
0
        static void Main(string[] args)
        {
            foreach (var file in Directory.GetFiles(Directory.GetCurrentDirectory(), "*.log",
                                                    SearchOption.AllDirectories))
            {
                File.Delete(file);
            }

            LogManager.LoadConfiguration("nlog.config");

            var logger = LogManager.GetCurrentClassLogger();

            LogPattern.DoLog(args, line => { logger.Info(line); });

            LogManager.Shutdown();
        }
Пример #8
0
        static void Main(string[] args)
        {
            // https://blog.yowko.com/nlog-async-keepfileopen/
            // https://blog.darkthread.net/blog/high-capacity-dotnet-logging-survey/

            foreach (var file in Directory.GetFiles(Directory.GetCurrentDirectory(), "*.log",
                                                    SearchOption.AllDirectories))
            {
                File.Delete(file);
            }

            LogManager.LoadConfiguration("nlog.config");

            var logger = LogManager.GetCurrentClassLogger();

            LogPattern.DoLog(args, line => { logger.Info(line); });

            LogManager.Shutdown();
        }
        private void moveDownButton_Click(object sender, EventArgs e)
        {
            LogPattern pattern = this.GetSelectedItem();

            if (pattern == null)
            {
                return;
            }

            int index = this.patternManager.CustomPatterns.IndexOf(pattern);

            if (index == this.patternManager.CustomPatterns.Count - 1)
            {
                return;
            }
            this.patternManager.CustomPatterns.RemoveAt(index);

            this.patternManager.CustomPatterns.Insert(index + 1, pattern);

            this.RefreshCustomPatterns();
            this.customPatternsListBox.SelectedItem = pattern;
        }
Пример #10
0
        public void GetPatternForLogTest()
        {
            LogPattern pattern1 = PatternManager.GetPatternForLog("DiscoveryEngine.log");
            LogPattern pattern2 = PatternManager.GetPatternForLog("DiscoveryEngine.log.1");

            Assert.AreEqual("DiscoveryEngine.log*", pattern2.FileMask);
            Assert.AreEqual(pattern1.FileMask, pattern2.FileMask);

            pattern1 = PatternManager.GetPatternForLog("Debug.log");
            Assert.AreEqual("Debug.log", pattern1.FileMask);

            pattern1 = PatternManager.GetPatternForLog("swDebug.log");
            Assert.AreEqual("*", pattern1.FileMask);

            //Test default parser
            pattern1 = PatternManager.GetPatternForLog("SomethingWhatShouldntExistsInParserDefinition-XYZ_BlaBlaBla");

            Assert.AreEqual("*", pattern1.FileMask);
            Assert.AreEqual(true, pattern1.ContainsClass);
            Assert.AreEqual(true, pattern1.ContainsThread);
            Assert.AreEqual(true, pattern1.ContainsType);
            Assert.AreEqual("yyyy-MM-dd HH:mm:ss,fff", pattern1.DateTimeFormat);
        }