public IAppender CreateAppender(string type, ILayouts layout)
        {
            string typeAsLowerCase = type.ToLower();

            switch (typeAsLowerCase)
            {
            case "consoleappender":
                return(new ConsoleAppender(layout));

            case "fileappender":
                return(new FileAppender(layout, new LogFile()));

            default:
                throw new ArgumentException("Invalid appender type!");
            }
        }
예제 #2
0
        public void AddAppender(string[] args)
        {
            string      appenderType = args[0];
            string      layoutType   = args[1];
            ReportLevel reportLevel  = ReportLevel.INFO;

            if (args.Length == 3)
            {
                reportLevel = Enum.Parse <ReportLevel>(args[2]);
            }

            ILayouts  layout   = this.layoutFactory.CreateLayout(layoutType);
            IAppender appender = this.appenderFactory.CreateAppender(appenderType, layout);

            appender.ReportLevel = reportLevel;

            this.appenders.Add(appender);
        }
예제 #3
0
 public ConsoleAppender(ILayouts layout)
     : base(layout)
 {
 }
예제 #4
0
 protected Appender(ILayouts layout)
 {
     this.layout = layout;
 }
예제 #5
0
 public LayoutManager(ILayouts layoutsRepository)
 {
     Repo = layoutsRepository;
 }
예제 #6
0
 public FileAppender(ILayouts layout, ILogFile logFile)
     : base(layout)
 {
     this.logFile = logFile;
 }