private void GetAppenders() { var numberOFAppeders = int.Parse(Console.ReadLine()); for (int i = 0; i < numberOFAppeders; i++) { string[] inputArgs = Console.ReadLine().Split(" "); AppendersType appenderType = Enum.Parse <AppendersType>(inputArgs[0]); LayoutsType layoutType = Enum.Parse <LayoutsType>(inputArgs[1]); ILayout layout = layoutFactory.CreateLayout(layoutType); IAppender appender = appenderFactory.CreateAppender(appenderType, layout); if (inputArgs.Length == 3) { string reportLevelType = inputArgs[2]; ReportLevel level = Enum.Parse <ReportLevel>(reportLevelType); appender.ReportLevel = level; } if (appenderType == AppendersType.FileAppender) { ((FileAppender)appender).File = new LogFile(); } appenders.Add(appender); } }
private static ILogger SetUpLogger(int appendersCount, IReader reader, IWriter writer, IFile file , LayoutFactory layoutFactory, AppenderFactory appenderFactory) { ICollection <IAppender> appenders = new HashSet <IAppender>(); for (int i = 0; i < appendersCount; i++) { string[] appArg = reader.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries); string appenderType = appArg[0]; string layoutType = appArg[1]; bool hasError = false; Level level = ParseLevel(appArg, writer, ref hasError); if (hasError) { continue; } try { ILayout layout = layoutFactory.CreateLayout(layoutType); IAppender appender = appenderFactory.CreaterAppender(appenderType, layout, level, file); appenders.Add(appender); } catch (InvalidOperationException ex) { writer.WriteLine(ex.Message); } } ILogger logger = new Logger(appenders); return(logger); }
private void _001ViewerControlAdapterTest() { var viewModel = _userControlViewModel as ViewerControlAdapterViewModel; viewModel.Layout = LayoutFactory.CreateLayout(3, 3); MessageBox.Show("Hello F5"); }
public IAppender CreateAppender(string[] arguments) { string appenderType = arguments[0]; string layoutType = arguments[1]; ILayout layout = layoutFactory.CreateLayout(layoutType); if (appenderType == "ConsoleAppender") { if (arguments.Length == 3) { return(new ConsoleAppender(layout, Enum.Parse <ErrorTreshholds>(arguments[2]))); } else { return(new ConsoleAppender(layout)); } } else if (appenderType == "FileAppender") { if (arguments.Length == 3) { return(new FileAppender(layout, Enum.Parse <ErrorTreshholds>(arguments[2]), new LogFile())); } else { return(new FileAppender(layout, new LogFile())); } } return(null); }
public static Logger CreateLogger(int appenderNum) { for (int i = 0; i < appenderNum; i++) { //TODO: Have this read from the CommandInterpreter rather than the Console string[] appenderInfo = Console.ReadLine().Split(); string appenderType = appenderInfo[0]; string layoutType = appenderInfo[1]; ReportLevel reportLevel = 0; if (appenderInfo.Length == 3) { reportLevel = (ReportLevel)ReportLevel.Parse(typeof(ReportLevel), appenderInfo[2]); } //Creates the layout ILayout layout = LayoutFactory.CreateLayout(layoutType); //Creates the appender with the corresponding layout IAppender appender = AppenderFactory.CreateAppender(appenderType, layout, reportLevel); appenders.Add(appender); } //Returns the logger, with all the appenders from the list var logger = new Logger(appenders.ToArray()); return(logger); }
public IAppender CreateAppender(string[] appenderParams, LayoutFactory layoutFactory) { string type = appenderParams[0]; string layoutType = appenderParams[1]; ILayout layout = layoutFactory.CreateLayout(layoutType); Type appenderType = Assembly.GetExecutingAssembly() .GetTypes() .FirstOrDefault(t => t.IsClass && t.Name.EndsWith(AppenderSuffix) && t.Name == type); if (layoutType == null) { throw new ArgumentNullException( nameof(appenderType), UnknownAppenderExceptionMessage); } IAppender appender = Activator.CreateInstance(appenderType, layout) as IAppender; if (appenderParams.Length == 3) { ReportLevel reportLevel = Enum.Parse <ReportLevel>(appenderParams[2], true); appender.ReportLevel = reportLevel; } return(appender); }
private static BoardCell CreatePageModel() { var page = PageModelFactory.CreatePageModel(LayoutFactory.CreateLayout(3, 3)); return(new BoardCell { PageModel = page }); }
public override void AppendPage() { Add(PageModelFactory.CreatePageModel(LayoutFactory.CreateLayout(3, 3))); var lastPageNO = Count - 1; PageChange(lastPageNO); FocusChange(lastPageNO); }
private void _002PageControlTest() { var viewModel = _userControlViewModel as PageControlViewModel; viewModel.Layout = LayoutFactory.CreateLayout(3, 3); var cells = CreateCells(); viewModel.ImageCells = cells; viewModel.TitleBarVisibility = Visibility.Visible; viewModel.TitleBarPosition = Dock.Bottom; viewModel.PageNO = 1; }
private void CreateAppender(string[] inputInfo) { string appenderType = inputInfo[1]; string layoutType = inputInfo[2]; ReportLevel reportLevel = ReportLevel.Info; if (inputInfo.Length > 2) { //reportLevel = Enum.Parse<ReportLevel>(inputInfo[3], true); } ILayout layout = LayoutFactory.CreateLayout(layoutType); IAppender appender = AppenderFactory.CreateAppender(appenderType, layout, reportLevel); appenders.Add(appender); }
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], true); } ILayout layout = layoutFactory.CreateLayout(layoutType); IAppender appender = appenderFactory.CreateAppender(appenderType, layout); appender.ReportLevel = reportLevel; appenders.Add(appender); }
public IAppender ReadAppender() { var appenderParts = Console.ReadLine().Split(" "); var type = appenderParts[0]; var layoutFactory = new LayoutFactory(); var layout = layoutFactory.CreateLayout(appenderParts[1]); var treshold = ReportLevel.INFO; if (appenderParts.Length == 3) { treshold = (ReportLevel)Enum.Parse(typeof(ReportLevel), appenderParts[2]); } var appenderFactory = new AppenderFactory(); return(appenderFactory.CreateAppender(type, layout, treshold)); }
public IAppender CreateAppender(string appenderType, string levelString, string layoutType) { ILayout layout = layoutFactory.CreateLayout(layoutType); ErrorLevel errorLevel = ParseErrorLevel(levelString); IAppender appender = null; switch (appenderType) { case "ConsoleAppender": appender = new ConsoleAppender(layout, errorLevel); break; case "FileAppender": ILogFile logFile = new LogFile(string.Format(DefaultFileName)); appender = new FileAppender(layout, errorLevel, logFile); break; default: throw new ArgumentException("Invalid Appender Type!"); } return(appender); }
public static bool SetLayoutFromElement(object o, XmlElement el, NameValueCollection variables) { string name = el.LocalName; if (!IsLayoutProperty(o.GetType(), name)) { return(false); } PropertyInfo targetPropertyInfo = o.GetType().GetProperty(name, BindingFlags.Public | BindingFlags.Instance | BindingFlags.FlattenHierarchy | BindingFlags.IgnoreCase); if (targetPropertyInfo != null && typeof(ILayout).IsAssignableFrom(targetPropertyInfo.PropertyType)) { ILayout layout = LayoutFactory.CreateLayout(GetCaseInsensitiveAttribute(el, "type", variables)); ConfigureObjectFromAttributes(layout, el.Attributes, variables, true); ConfigureObjectFromElement(layout, el, variables); targetPropertyInfo.SetValue(o, layout, null); return(true); } if (name == "layout" && (o is TargetWithLayout)) { if (HasCaseInsensitiveAttribute(el, "type")) { ILayout layout = LayoutFactory.CreateLayout(GetCaseInsensitiveAttribute(el, "type", variables)); ConfigureObjectFromAttributes(layout, el.Attributes, variables, true); ConfigureObjectFromElement(layout, el, variables); ((TargetWithLayout)o).CompiledLayout = layout; } else { ((TargetWithLayout)o).Layout = el.InnerText; } return(true); } return(false); }
private void ReadAppendersInfo() { int appendersCount = int.Parse(ConsoleReader.ReadLine()); this.appenders = new IAppender[appendersCount]; for (int i = 0; i < appendersCount; i++) { string[] appenderInfo = ConsoleReader.ReadLine().Split(); string appenderType = appenderInfo[0]; string layoutType = appenderInfo[1]; ILayout layout = LayoutFactory.CreateLayout(layoutType); IAppender appender = AppenderFactory.CreateAppender(appenderType, layout); if (appenderInfo.Length > 2) { string reportLevel = this.ConvertStringToTitleCase(appenderInfo[2]); appender.ReportLevel = (ReportLevel)Enum.Parse(typeof(ReportLevel), reportLevel); } this.appenders[i] = appender; } }
public void Run() { var appenders = new List <IAppender>(); int count = int.Parse(Console.ReadLine()); for (int i = 0; i < count; i++) { var inputInfo = Console.ReadLine().Split(); var appenderType = inputInfo[0]; var layoutType = inputInfo[1]; ReportLevel reportLevel = ReportLevel.Info; if (inputInfo.Length > 2) { reportLevel = Enum.Parse <ReportLevel>(inputInfo[2], true); } ILayout layout = LayoutFactory.CreateLayout(layoutType); IAppender appender = AppenderFactory.CreateAppender(appenderType, layout, reportLevel); appenders.Add(appender); } var input = Console.ReadLine(); ILogger logger = new Logger(appenders.ToArray()); while (input != "END") { var inputInfo = input.Split("|"); var loggerMethodType = inputInfo[0]; var date = inputInfo[1]; var messege = inputInfo[2]; if (loggerMethodType == "INFO") { logger.Info(date, messege); } else if (loggerMethodType == "WARNING") { logger.Warning(date, messege); } else if (loggerMethodType == "ERROR") { logger.Error(date, messege); } else if (loggerMethodType == "CRITICAL") { logger.Critical(date, messege); } else if (loggerMethodType == "FATAL") { logger.Fatal(date, messege); } input = Console.ReadLine(); } Console.WriteLine("Logger info"); foreach (var item in appenders) { Console.WriteLine(item); } }
static void Main(string[] args) { AppenderFactory appenderFactory = new AppenderFactory(); LayoutFactory layoutFactory = new LayoutFactory(); int appenderscount = int.Parse(Console.ReadLine()); var appenders = new List <IAppender>(); for (int i = 0; i < appenderscount; i++) { var appenderInput = Console.ReadLine().Split(' ').ToArray(); string appenderType = appenderInput[0]; string layoutType = appenderInput[1]; try { string reportLevel = appenderInput[2].ToLower(); int threshold = DicThreshold.CheckThreshold(reportLevel); ILayout layout = layoutFactory.CreateLayout(layoutType); IAppender appender = appenderFactory.CreateAppender(appenderType, layout, reportLevel); appenders.Add(appender); } catch (Exception e) { ILayout layout = layoutFactory.CreateLayout(layoutType); IAppender appender = appenderFactory.CreateAppender(appenderType, layout, "info"); appenders.Add(appender); } } while (true) { var command = Console.ReadLine().Split('|').ToArray(); if (command[0] == "END") { break; } string reportLevel = command[0].ToLower(); string date = command[1]; string message = command[2]; Logger logger = new Logger(appenders.ToArray()); switch (reportLevel) { case "info": logger.Info(date, message); break; case "warning": logger.Warning(date, message); break; case "error": logger.Error(date, message); break; case "critical": logger.Critical(date, message); break; case "fatal": logger.Fatal(date, message); break; } } Console.WriteLine("Logger info"); foreach (var appender in appenders) { var sb = new StringBuilder(); Console.Write($"Appender type: {appender.GetType().Name}, Layout type: {appender.Layout.GetType().Name}, Report level: {appender.Layout.ReportLevel}, Messages appended: {appender.SentMessages}"); if (appender is FileAppender) { Console.WriteLine($", File size: {appender.LogFile.Size()}"); } Console.WriteLine(); } }
public void Run() { int counter = int.Parse(Console.ReadLine()); for (int i = 0; i < counter; i++) { string[] inputInfo = Console.ReadLine() .Split(" ", StringSplitOptions.RemoveEmptyEntries); string appenderType = inputInfo[0]; string layoutType = inputInfo[1]; ReportLevel reportLevel = ReportLevel.Info; if (inputInfo.Length > 2) { reportLevel = Enum.Parse <ReportLevel>(inputInfo[2], true); } ILayout layout = LayoutFactory.CreateLayout(layoutType); Appender appender = AppenderFactory.CreateAppender(appenderType, layout, reportLevel); appenders.Add(appender); } ILogger logger = new Logger(appenders.ToArray()); while (true) { string input = Console.ReadLine(); if (input == "END") { break; } string[] inputInfo = input .Split("|"); string loggerMethodType = inputInfo[0]; string date = inputInfo[1]; string message = inputInfo[2]; if (loggerMethodType == "INFO") { logger.Info(date, message); } else if (loggerMethodType == "WARNING") { logger.Warning(date, message); } else if (loggerMethodType == "ERROR") { logger.Error(date, message); } else if (loggerMethodType == "CRITICAL") { logger.Critical(date, message); } else if (loggerMethodType == "FATAL") { logger.Fatal(date, message); } } Console.WriteLine("Logger info"); foreach (var appender in appenders) { Console.WriteLine(appender); } }