public IAppender ProduceAppender(string appenderType, string layoutType, string levelStr) { Level level; bool hasParsed = Enum.TryParse <Level>(levelStr, true, out level); if (!hasParsed) { throw new ArgumentException("Invalid level type!"); } ILayout layout = this.layoutFactory.ProduceLayout(layoutType); IAppender appender; if (appenderType == "ConsoleAppender") { appender = new ConsoleAppender(layout, level); } else if (appenderType == "FileAppender") { IFile file = new LogFIle("\\data\\", "logs.txt"); appender = new FileAppender(layout, level, file); } else { throw new ArgumentException("Invalid appender type!"); } return(appender); }
public Appender(ILayout layout, LogFIle logFIle) { this.Layout = layout; this.LogFIle = logFIle; this.ReportLevel = ReportLevel.Info; }