public void SetUp() { source = new TraceSource("unnamed", SourceLevels.All); tempFileName = Path.GetTempFileName(); xmlTraceListener = new XmlTraceListener(tempFileName); source.Listeners.Add(xmlTraceListener); }
public override TraceListener Assemble(IBuilderContext context, TraceListenerData objectConfiguration, IConfigurationSource configurationSource, ConfigurationReflectionCache reflectionCache) { XmlTraceListenerData castedObjectConfiguration = (XmlTraceListenerData)objectConfiguration; XmlTraceListener createdObject = new XmlTraceListener(castedObjectConfiguration.FileName); return createdObject; }
public void UpdateConfigForXMLTL(LoggingConfiguration loggingConfiguration) { var xmlTraceListener = new XmlTraceListener(Path.Combine(strPath, "XmlLogFile.xml")); xmlTraceListener.Filter = new EventTypeFilter(SourceLevels.All); loggingConfiguration.IsTracingEnabled = false; loggingConfiguration.AddLogSource("XML", SourceLevels.All, true, xmlTraceListener); loggingConfiguration.SpecialSources.Unprocessed.Listeners.Add(xmlTraceListener); }
static LoggingConfiguration BuildProgrammaticConfig() { // Formatters TextFormatter briefFormatter = new TextFormatter("Timestamp: {timestamp(local)}{newline}Message: {message}{newline}Category: {category}{newline}Priority: {priority}{newline}EventId: {eventid}{newline}ActivityId: {property(ActivityId)}{newline}Severity: {severity}{newline}Title:{title}{newline}"); TextFormatter extendedFormatter = new TextFormatter("Timestamp: {timestamp}{newline}Message: {message}{newline}Category: {category}{newline}Priority: {priority}{newline}EventId: {eventid}{newline}Severity: {severity}{newline}Title: {title}{newline}Activity ID: {property(ActivityId)}{newline}Machine: {localMachine}{newline}App Domain: {localAppDomain}{newline}ProcessId: {localProcessId}{newline}Process Name: {localProcessName}{newline}Thread Name: {threadName}{newline}Win32 ThreadId:{win32ThreadId}{newline}Extended Properties: {dictionary({key} - {value}{newline})}"); // Category Filters ICollection <string> categories = new List <string>(); categories.Add("BlockedByFilter"); // Log Filters var priorityFilter = new PriorityFilter("Priority Filter", 2, 99); var logEnabledFilter = new LogEnabledFilter("LogEnabled Filter", true); var categoryFilter = new CategoryFilter("Category Filter", categories, CategoryFilterMode.AllowAllExceptDenied); // Trace Listeners var causeLoggingErrorTraceListener = new FormattedDatabaseTraceListener(DatabaseFactory.CreateDatabase("DoesNotExist"), "WriteLog", "AddCategory", null); var databaseTraceListener = new FormattedDatabaseTraceListener(DatabaseFactory.CreateDatabase("ExampleDatabase"), "WriteLog", "AddCategory", extendedFormatter); var flatFileTraceListener = new FlatFileTraceListener(@"C:\Temp\FlatFile.log", "----------------------------------------", "----------------------------------------", briefFormatter); var eventLog = new EventLog("Application", ".", "Enterprise Library Logging"); var eventLogTraceListener = new FormattedEventLogTraceListener(eventLog); var rollingFlatFileTraceListener = new RollingFlatFileTraceListener(@"C:\Temp\RollingFlatFile.log", "----------------------------------------", "----------------------------------------", extendedFormatter, 20, "yyyy-MM-dd", RollFileExistsBehavior.Increment, RollInterval.None, 3); var unprocessedFlatFileTraceListener = new FlatFileTraceListener(@"C:\Temp\Unprocessed.log", "----------------------------------------", "----------------------------------------", extendedFormatter); var xmlTraceListener = new XmlTraceListener(@"C:\Temp\XmlLogFile.xml"); xmlTraceListener.Filter = new EventTypeFilter(SourceLevels.Error); // Build Configuration var config = new LoggingConfiguration(); config.Filters.Add(priorityFilter); config.Filters.Add(logEnabledFilter); config.Filters.Add(categoryFilter); config.AddLogSource("BlockedByFilter", SourceLevels.All, true).AddTraceListener(eventLogTraceListener); config.AddLogSource("CauseLoggingError", SourceLevels.All, true).AddTraceListener(causeLoggingErrorTraceListener); config.AddLogSource("Database", SourceLevels.All, true).AddTraceListener(databaseTraceListener); // The defaults for the asynchronous wrapper are: // bufferSize: 30000 // disposeTimeout: infinite config.AddLogSource("AsyncDatabase", SourceLevels.All, true).AddAsynchronousTraceListener(databaseTraceListener); config.AddLogSource("DiskFiles", SourceLevels.All, true).AddTraceListener(flatFileTraceListener); config.LogSources["DiskFiles"].AddTraceListener(xmlTraceListener); config.AddLogSource("General", SourceLevels.All, true).AddTraceListener(eventLogTraceListener); config.AddLogSource("Important", SourceLevels.All, true).AddTraceListener(eventLogTraceListener); config.LogSources["Important"].AddTraceListener(rollingFlatFileTraceListener); // Special Sources Configuration config.SpecialSources.Unprocessed.AddTraceListener(unprocessedFlatFileTraceListener); config.SpecialSources.LoggingErrorsAndWarnings.AddTraceListener(eventLogTraceListener); return(config); }
private static void ConfigureXmlLogging(LoggingConfiguration config) { // Create a listener that formats events as XML XmlTraceListener xmllog = new XmlTraceListener(@"C:\temp\application log.xml"); // Set it to only listen to Error AND ABOVE xmllog.Filter = new EventTypeFilter(SourceLevels.Error); // Tell the config to use this (Category = xml) config.AddLogSource("xml", SourceLevels.All, true).AddTraceListener(xmllog); }
public void CanCreatePoliciesForXmlTraceListener() { XmlTraceListenerData listenerData = new XmlTraceListenerData("listener", "test.log"); listenerData.TraceOutputOptions = TraceOptions.Callstack | TraceOptions.ProcessId; listenerData.Filter = SourceLevels.Error; loggingSettings.TraceListeners.Add(listenerData); container.AddExtension(new LoggingBlockExtension()); XmlTraceListener createdObject = (XmlTraceListener)container.Resolve <TraceListener>("listener"); Assert.IsNotNull(createdObject); Assert.AreEqual(listenerData.TraceOutputOptions, createdObject.TraceOutputOptions); Assert.IsNotNull(createdObject.Filter); Assert.IsInstanceOfType(createdObject.Filter, typeof(EventTypeFilter)); Assert.AreEqual(listenerData.Filter, ((EventTypeFilter)createdObject.Filter).EventType); Assert.AreEqual(listenerData.FileName, Path.GetFileName(((FileStream)((StreamWriter)createdObject.Writer).BaseStream).Name)); }
public void EntryIsWrittenWhenUsingXmlTraceListener() { File.Delete("LogFile.xml"); var config = new LoggingConfiguration(); config.IsTracingEnabled = true; config.DefaultSource = "General"; config.LogWarningsWhenNoCategoriesMatch = true; var xmlTraceListener = new XmlTraceListener(@"LogFile.xml"); config.SpecialSources.Unprocessed.Listeners.Add(xmlTraceListener); this.writer = new LogWriter(config); this.writer.Write("Test Logging XML"); this.writer.Dispose(); Assert.IsTrue(File.Exists("LogFile.xml")); }