static void Main(string[] args)
        {
            ILayout simpleLayout = new SimpleLayout();
            IAppender consoleAppender = new ConsoleAppender(simpleLayout);
            ILogger logger = new Logger(consoleAppender);

            logger.Error("Error parsing JSON");
            logger.Info(string.Format("User {0} successfully registered.", "Pesho"));

            Console.WriteLine(new string('-', 20));

            //We create a second Appender and add it to the existing ILogger object
            IFileAppender fileAppender = new FileAppender(simpleLayout);
            fileAppender.File = "log.txt";

            logger.AddAppender(fileAppender);

            logger.Fatal("mscorlib.dll does not respond");
            logger.Critical("No connection string found in App.config");

            Console.WriteLine(new string('-', 20));

            //We set the new XML Layout on each Appender that the Logger object uses
            foreach (IAppender appender in logger.Appenders)
            {
                appender.Layout = new XmlLayout();
            }

            logger.Fatal("mscorlib.dll does not respond");
            logger.Critical("No connection string found in App.config");

            Console.WriteLine(new string('-', 20));

            //We set the Report Level Minimum at Error
            foreach (IAppender appender in logger.Appenders)
            {
                appender.ReportLevelMinimum = Enums.ReportLevel.Error;
            }

            logger.Info("Everything seems fine");
            logger.Warning("Warning: ping is too high - disconnect imminent");
            logger.Error("Error parsing request");
            logger.Critical("No connection string found in App.config");
            logger.Fatal("mscorlib.dll does not respond");

            Console.WriteLine(new string('-', 20));
        }
예제 #2
0
파일: Program.cs 프로젝트: nok32/SoftUny-HW
        private static void ExampleThree()
        {
            var xmlLayout = new XmlLayout();
            var consoleAppender = new ConsoleAppender(xmlLayout);
            var logger = new Logger(consoleAppender);

            logger.Fatal("mscorlib.dll does not respond");
            logger.Critical("No connection string found in App.config");
        }
예제 #3
0
파일: Program.cs 프로젝트: nok32/SoftUny-HW
        private static void ExampleFour()
        {
            var simpleLayout = new SimpleLayout();
            var consoleAppender = new ConsoleAppender(simpleLayout);
            consoleAppender.ReportLevel = ReportLevel.Error;

            var logger = new Logger(consoleAppender);

            logger.Info("Everything seems fine");
            logger.Warn("Warning: ping is too high - disconnect imminent");
            logger.Error("Error parsing request");
            logger.Critical("No connection string found in App.config");
            logger.Fatal("mscorlib.dll does not respond");
        }
예제 #4
0
        public void Logger_Critical()
        {
            const string message = "message";
            int counter = 0;
            ILogger logger = new Logger();
            (logger as Logger).OnCritical = s=>counter++;
            (logger as Logger).OnError = s => Assert.Fail();
            (logger as Logger).OnWarning = s => Assert.Fail();
            (logger as Logger).OnInformational = s => Assert.Fail();
            (logger as Logger).OnDebug = s => Assert.Fail();
            (logger as Logger).OnDiagnostic = s => Assert.Fail();
            (logger as Logger).OnChangeEvent = (a, b) => Assert.Fail();

            logger.Critical(message);
            Assert.AreEqual(1, counter);
        }
예제 #5
0
        public void Logger_NoRoutes()
        {
            const string message = "message";
            ILogger logger = new Logger();

            logger.Critical(message);
            logger.Error(message);
            logger.Warning(message);
            logger.Informational(message);
            logger.Debug(message);
            logger.Diagnostic(message);
            logger.ChangeEvent(message, message);//string is not a good example here, but the function isn't called anyway

            //yes, nothing happens.
            //this test is here to ensure no exceptions occur when leaving handlers unspecified for the logger
        }