private static IDictionary <string, TokenHandler <LogEntry> > GetExtraTokenHandlers() { IDictionary <string, TokenHandler <LogEntry> > extraHandlers = new Dictionary <string, TokenHandler <LogEntry> >(); try { // Web Application parameters extraHandlers["namaspace"] = GenericTextFormatter <LogEntry> .CreateSimpleTokenHandler(le => ((WeblogEntry)le).NamespaceName); extraHandlers["className"] = GenericTextFormatter <LogEntry> .CreateSimpleTokenHandler(le => ((WeblogEntry)le).ClassName); extraHandlers["methodSignature"] = GenericTextFormatter <LogEntry> .CreateSimpleTokenHandler(le => ((WeblogEntry)le).MethodSignature); extraHandlers["user"] = GenericTextFormatter <LogEntry> .CreateSimpleTokenHandler(le => ((WeblogEntry)le).CurrentUserName); extraHandlers["ipAddress"] = GenericTextFormatter <LogEntry> .CreateSimpleTokenHandler(le => ((WeblogEntry)le).CurrentUserIPAddress); extraHandlers["userAgent"] = GenericTextFormatter <LogEntry> .CreateSimpleTokenHandler(le => ((WeblogEntry)le).CurrentUserAgent); extraHandlers["url"] = GenericTextFormatter <LogEntry> .CreateSimpleTokenHandler(le => ((WeblogEntry)le).CurrentUrl); extraHandlers["referrer"] = GenericTextFormatter <LogEntry> .CreateSimpleTokenHandler(le => ((WeblogEntry)le).CurrentUrl); } catch (System.Web.HttpException) { } return(extraHandlers); }
private static IDictionary <string, TokenHandler <LogEntry> > GetExtraTokenHandlersDictionary() { Dictionary <string, TokenHandler <LogEntry> > tokenHandlers = new Dictionary <string, TokenHandler <LogEntry> >(); tokenHandlers["field1"] = GenericTextFormatter <LogEntry> .CreateSimpleTokenHandler(le => ((CustomLogEntry)le).AcmeCoField1); tokenHandlers["field2"] = GenericTextFormatter <LogEntry> .CreateSimpleTokenHandler(le => ((CustomLogEntry)le).AcmeCoField2); tokenHandlers["field3"] = GenericTextFormatter <LogEntry> .CreateSimpleTokenHandler(le => ((CustomLogEntry)le).AcmeCoField3); return(tokenHandlers); }
internal ScriptablePresenter(IMainView view) { // TODO: Review below _view = view; _profilesProvider = Create.New <IProfilesProvider>(); _settingsProvider = Create.New <ISettingsProvider>(); _containersProvider = Create.New <IContainersProvider>(); _view.ScriptFinishRequested += ScriptFinishRequested; _outputFormatter = new ConsoleOutputFormatter(); _genericTextFormatter = new GenericTextFormatter(); _progressFormatter = new ProgressFormatter(); _errorFormatter = new ErrorFormatter(); }
/// <summary> /// Creates a <see cref="Formatter{T}"/> for all the entries in the <see cref="LogEntry.ExtendedProperties"/> /// dictionary. /// </summary> private static Formatter<LogEntry> DictionaryTokenHandlerFactory(string parameter) { Dictionary<string, TokenHandler<KeyValuePair<string, object>>> handlers = new Dictionary<string, TokenHandler<KeyValuePair<string, object>>>(); handlers["newline"] = GenericTextFormatter<KeyValuePair<string, object>>.CreateSimpleTokenHandler(Environment.NewLine); handlers["tab"] = GenericTextFormatter<KeyValuePair<string, object>>.CreateSimpleTokenHandler("\t"); handlers["key"] = GenericTextFormatter<KeyValuePair<string, object>>.CreateSimpleTokenHandler(kvp => kvp.Key); handlers["value"] = GenericTextFormatter<KeyValuePair<string, object>>.CreateSimpleTokenHandler(kvp => kvp.Value.ToString()); GenericTextFormatter<KeyValuePair<string, object>> entryFormatter = new GenericTextFormatter<KeyValuePair<string, object>>(parameter, handlers); return le => { StringBuilder entries = new StringBuilder(); foreach (var kvp in le.ExtendedProperties) { entryFormatter.Format(kvp, entries); } return entries.ToString(); }; }
protected TextFormatter(string template, IDictionary<string, TokenHandler<LogEntry>> extraTokenHandlers) { if (!string.IsNullOrEmpty(template)) { this.template = template; } else { this.template = DefaultTextFormat; } Dictionary<string, TokenHandler<LogEntry>> tokenHandlers = defaultTokenHandlers; if (extraTokenHandlers.Count > 0) { tokenHandlers = new Dictionary<string, TokenHandler<LogEntry>>(defaultTokenHandlers); foreach (var kvp in extraTokenHandlers) { tokenHandlers.Add(kvp.Key, kvp.Value); } } this.formatter = new GenericTextFormatter<LogEntry>(this.template, tokenHandlers); }