コード例 #1
0
ファイル: Launcher.cs プロジェクト: antoniaat/CSharp-SoftUni
        private static ILogger InitializeLogger()
        {
            ICollection <IAppender> appenders       = new List <IAppender>();
            LayoutFactory           layoutFactory   = new LayoutFactory();
            AppenderFactory         appenderFactory = new AppenderFactory(layoutFactory);

            int appenderCount = int.Parse(Console.ReadLine());

            for (int i = 0; i < appenderCount; i++)
            {
                string[] args         = Console.ReadLine().Split();
                string   appenderType = args[0];
                string   layoutType   = args[1];
                string   errorLevel   = "INFO";

                if (args.Length == 3)
                {
                    errorLevel = args[2];
                }

                IAppender appender = appenderFactory.CreateAppender(appenderType, errorLevel, layoutType);
                appenders.Add(appender);
            }

            ILogger logger = new Loggers.Logger(appenders);

            return(logger);
        }
コード例 #2
0
        public static void Main(string[] args)
        {
            var simpleLayout    = new SimpleLayout();
            var consoleAppender = new ConsoleAppender(simpleLayout);

            consoleAppender.ReportLevel = ReportLevel.Error;

            var logger = new Loggers.Logger(consoleAppender);

            logger.Info("3/31/2015 5:33:07 PM", "Everything seems fine");
            logger.Warning("3/31/2015 5:33:07 PM", "Warning: ping is too high - disconnect imminent");
            logger.Error("3/31/2015 5:33:07 PM", "Error parsing request");
            logger.Critical("3/31/2015 5:33:07 PM", "No connection string found in App.config");
            logger.Fatal("3/31/2015 5:33:07 PM", "mscorlib.dll does not respond");
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: KostaDinkov/SoftUni
        private static void Main(string[] args)
        {
            ILayout simpleLayout = new SimpleLayout();
            
            //this is a client created layout implemented in the current project
            ILayout xmLayout = new XmLlayout();

            IAppender consoleAppender = new ConsoleAppender(simpleLayout);
            consoleAppender.ReportLevel = EntryLevel.Critical;

            IFileAppender fileAppender = new FileAppender(xmLayout);
            fileAppender.ReportLevel = EntryLevel.Info;
            fileAppender.File = "..\\..\\log.xml";

            ILogger logger = new Logger(consoleAppender, fileAppender);

            // NOTE: I have redesigned the logger class so that we can easily 
            // add additional levels of warnings (Debug for instance) without the need to edit the Logger class
            // Also I added a functionality to turn logging 'on' and 'off' without the need to comment or delete
            // existing logger.Log lines. Default value is 'on'.

            logger.IsLogging = false;

            logger.Log(EntryLevel.Info, "This is just an info message.");
            logger.Log(EntryLevel.Warning, "This is a warning.");
            logger.Log(EntryLevel.Error, "Error parsing JSON.");
            logger.Log(EntryLevel.Critical, "Situation is critical!");
            logger.Log(EntryLevel.Fatal, "Just Give Up");

            logger.IsLogging = true;

            logger.Log(EntryLevel.Info, "This is just an info message.");
            logger.Log(EntryLevel.Warning, "This is a warning.");
            logger.Log(EntryLevel.Error, "Error parsing JSON.");
            logger.Log(EntryLevel.Critical, "Situation is critical!");
            logger.Log(EntryLevel.Fatal, "Just Give Up");
        }