public static IAppender CreateAppender(string[] args)
        {
            IAppender   appender = null;
            ILayout     layout   = layout = LayoutFactory.CreateLayout(args[1]);
            string      type     = args[0];
            ReportLevel reportLevel;

            if (args.Length == 2)
            {
                reportLevel = ReportLevel.Info;
            }
            else
            {
                Enum.TryParse <ReportLevel>(args[2], out reportLevel);
            }
            if (type == "ConsoleAppender")
            {
                appender             = new ConsoleAppender(layout);
                appender.ReportLevel = reportLevel;
            }
            else if (type == "FileAppender")
            {
                ILogFile file = new LogFile();
                appender             = new FileAppender(layout, file);
                appender.ReportLevel = reportLevel;
            }

            return(appender);
        }
        public IAppender CreateAppender(string appenderDetails, int fileNumber)
        {
            string[] appenderData = appenderDetails.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            string        appenderType = appenderData[0];
            LayoutFactory factory      = new LayoutFactory();
            ILayout       layout       = factory.CreateLayout(appenderData[1]);
            ErrorLevel    level        = ErrorLevel.INFO;

            if (appenderData.Length == 3)
            {
                level = (ErrorLevel)Enum.Parse(typeof(ErrorLevel), appenderData[2]);
            }

            switch (appenderType.ToLower())
            {
            case "consoleappender":
                return(new ConsoleAppender(layout, level));

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

            default:
                throw new ArgumentException("No such appender was found!");
            }
        }
예제 #3
0
        public IAppender CreateAppender(string appenderType, string layoutType)
        {
            ILayout   layout = lf.CreateLayout(layoutType);
            IAppender appender;

            switch (appenderType.ToUpper())
            {
            case "CONSOLEAPPENDER": appender = new ConsoleAppender(layout); break;

            case "FILEAPPENDER": appender = new FileAppender(layout); break;

            default: throw new ArgumentException("Invalid Appender Type!");
            }
            return(appender);
        }