public void SetUp()
 {
     source           = new TraceSource("unnamed", SourceLevels.All);
     tempFileName     = Path.GetTempFileName();
     xmlTraceListener = new XmlTraceListener(tempFileName);
     source.Listeners.Add(xmlTraceListener);
 }
 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;
		}
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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));
        }
Beispiel #8
0
        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"));
        }