/// <summary> /// Creates the <see cref="IEventTextFormatter" /> instance. /// </summary> /// <returns> /// The event text formatter instance. /// </returns> public override IEventTextFormatter CreateEventTextFormatter() { var formatter = new JsonEventTextFormatter(this.Formatting) { DateTimeFormat = this.DateTimeFormat, }; return formatter; }
private void ConfigureLogging() { eventListener = new ObservableEventListener(); eventListener.EnableEvents(SparkEngineEventSource.Log, EventLevel.LogAlways, Keywords.All); eventListener.EnableEvents(SparkMongoEventSource.Log, EventLevel.LogAlways, Keywords.All); eventListener.EnableEvents(SemanticLoggingEventSource.Log, EventLevel.LogAlways, Keywords.All); var formatter = new JsonEventTextFormatter(EventTextFormatting.Indented); eventListener.LogToFlatFile(@"C:\projects\fhir\log\spark.log", formatter); }
/// <summary> /// Creates the <see cref="IEventTextFormatter" /> instance. /// </summary> /// <param name="element">The configuration element.</param> /// <returns> /// The formatter instance. /// </returns> public IEventTextFormatter CreateFormatter(XElement element) { var formatter = this.GetFormatterElement(element); EventTextFormatting formatting = (EventTextFormatting)Enum.Parse(typeof(EventTextFormatting), (string)formatter.Attribute("formatting") ?? JsonEventTextFormatter.DefaultEventTextFormatting.ToString()); var includeSeparator = formatter.Attribute("includeEntrySeparator"); var jsonFormatter = new JsonEventTextFormatter(formatting, (string)formatter.Attribute("dateTimeFormat")); if (includeSeparator != null) { jsonFormatter.IncludeEntrySeparator = (bool)includeSeparator; } return jsonFormatter; }
public void WhenPositionalParametersInPayloadInJson() { var fileNameWithoutExtension = "Task1557_ForRollingFlatFile_JsonFormatter"; var fileName = fileNameWithoutExtension + ".log"; FlatFileHelper.DeleteCreatedLogFiles(fileNameWithoutExtension); var logger = TestEventSourceNoAttributes.Logger; var jsonFormatter = new JsonEventTextFormatter(); jsonFormatter.DateTimeFormat = "dd/MM/yyyy"; TestScenario.With1Listener( logger, listener => { listener.LogToRollingFlatFile(fileName, 1, "yyyy", RollFileExistsBehavior.Increment, RollInterval.None, jsonFormatter, 0); listener.EnableEvents(logger, EventLevel.LogAlways); for (int i = 0; i < 7; i++) { logger.ObjectArrayEvent4(1000, "stringstringarg10", 2000, "stringstringarg20", 3000); } Assert.IsTrue(File.Exists(fileNameWithoutExtension + "." + DateTime.Now.Year + ".1.log")); }); string readFile = File.ReadAllText(fileName); Assert.IsTrue(readFile.Contains("Check if it is logged")); Assert.IsTrue(readFile.Contains("{\"arg0\":1000,\"arg1\":\"stringstringarg10\",\"arg2\":2000,\"arg3\":\"stringstringarg20\",\"arg4\":3000}")); }
public void WhenEventWithMessageInAttributeUsingJson() { var consoleOutputInterceptor = new MockConsoleOutputInterceptor(); var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator); var jsonFormatter = new JsonEventTextFormatter(); jsonFormatter.DateTimeFormat = "dd/MM/yyyy"; var logger = TestEventSourceNoAttributes.Logger; TestScenario.With1Listener( logger, listener => { listener.LogToConsole(jsonFormatter); listener.EnableEvents(logger, EventLevel.LogAlways); logger.ObjectArrayEvent4(1000, "stringstringarg10", 2000, "stringstringarg20", 3000); }); var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault(); Assert.IsNotNull(entry); StringAssert.Contains(entry, "{\"arg0\":1000,\"arg1\":\"stringstringarg10\",\"arg2\":2000,\"arg3\":\"stringstringarg20\",\"arg4\":3000}"); StringAssert.Contains(entry, "Check if it is logged"); }
protected override void Given() { formatter = new JsonEventTextFormatter() { IncludeEntrySeparator = false }; collectionListener = new StringCollectionEventListener(formatter); collectionListener.EnableEvents(logger, EventLevel.LogAlways); }
public void when_creating_formatter_with_specific_values() { var formatter = new JsonEventTextFormatter(EventTextFormatting.Indented) { DateTimeFormat = "R" }; Assert.AreEqual("R", formatter.DateTimeFormat); Assert.AreEqual(EventTextFormatting.Indented, formatter.Formatting); }
public void when_creating_formatter_with_null_dateTimeFormat() { var formatter = new JsonEventTextFormatter(EventTextFormatting.Indented) { DateTimeFormat = null }; Assert.IsNull(formatter.DateTimeFormat); }
public void when_creating_formatter_with_default_values() { var formatter = new JsonEventTextFormatter(); Assert.IsNull(formatter.DateTimeFormat); Assert.AreEqual(EventTextFormatting.None, formatter.Formatting); }
protected override void Given() { formatter = new JsonEventTextFormatter(); listener = new InMemoryEventListener() { Formatter = formatter }; listener.EnableEvents(logger, EventLevel.LogAlways); }
public void WhenPositionalParametersInMessageInJson() { var fileName = "Task1557.log"; File.Delete(fileName); var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator); var jsonformatter = new JsonEventTextFormatter(); jsonformatter.DateTimeFormat = "dd/MM/yyyy"; var logger = TestEventSourceNoAttributes.Logger; TestScenario.With1Listener( logger, listener => { listener.LogToFlatFile(fileName, jsonformatter); listener.EnableEvents(logger, EventLevel.LogAlways); logger.ObjectArrayEvent4(10, "stringarg1", 20, "stringarg3", 30); }); Assert.IsTrue(File.Exists(fileName)); var entries = Regex.Split(ReadFileWithoutLock(fileName), formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)); Assert.AreEqual<int>(1, entries.Count()); string readFile = File.ReadAllText(fileName); Assert.IsTrue(readFile.Contains("Check if it is logged")); Assert.IsTrue(readFile.Contains("{\"arg0\":10,\"arg1\":\"stringarg1\",\"arg2\":20,\"arg3\":\"stringarg3\",\"arg4\":30}")); }
protected override void When() { sut = FormatterElementFactory.Get(XElement.Parse(string.Format(@"<consoleSink xmlns='http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw' name='ConsoleEventListener1'><sources><eventSource name='Foo' level='Error'/></sources>{0}</consoleSink>", GetElementText()))) as JsonEventTextFormatter; }
public void EventWithPayloadAndMessageAndDateTimeFormatInJson() { var logger = MockEventSrcForJson.Logger; var formatter = new JsonEventTextFormatter(); formatter.DateTimeFormat = "dd/MM/yyyy"; string rawOutput = string.Empty; using (var listener = new InMemoryEventListener() { Formatter = formatter }) { listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForJson.Keywords.Errors); try { logger.LogUsingMessage(MockEventSrcForJson.LogMessage); rawOutput = Encoding.Default.GetString(listener.Stream.ToArray()); } finally { listener.DisableEvents(logger); } } string today = System.DateTime.Today.ToString(formatter.DateTimeFormat); string tomorrow = System.DateTime.Today.AddDays(1).ToString(formatter.DateTimeFormat); Assert.IsTrue(rawOutput.Contains(today) || rawOutput.Contains(tomorrow)); }