public void SeriLogPublisher_NewPublisher_WriteToSink_UsingAny_ILogEventSink_IPML_Success() { //-------------------------Arrange------------------------------ var testEventSink = new TestLogEventSink(); var seriConfig = new TestSeriLogSinkConfig(testEventSink); var loggerSource = new SeriLoggerSource(); var loggerConnection = loggerSource.NewConnection(seriConfig); var loggerPublisher = loggerConnection.NewPublisher(); var error = new { ServerName = "testServer", Error = "testError" }; var expectedTestWarnMsgTemplate = "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}"; var expectedTestErrorMsg = $"Error From: {@error.ServerName} : {error.Error} "; //-------------------------Act---------------------------------- loggerPublisher.Warn(expectedTestWarnMsgTemplate); loggerPublisher.Error(expectedTestErrorMsg); var actualLogEventList = testEventSink.LogData; //-------------------------Assert------------------------------- Assert.IsTrue(actualLogEventList.Count == 2); Assert.AreEqual(expected: LogEventLevel.Warning, actual: actualLogEventList[0].Level); Assert.AreEqual(expected: expectedTestWarnMsgTemplate, actual: actualLogEventList[0].MessageTemplate.Text); Assert.AreEqual(expected: LogEventLevel.Error, actual: actualLogEventList[1].Level); Assert.AreEqual(expected: expectedTestErrorMsg, actual: actualLogEventList[1].MessageTemplate.Text); }
public void SeriLogPublisher_NewPublisher_Reading_LogData_From_SQLite_Success() { //-------------------------Arrange------------------------------ var testDBPath = @"C:\ProgramData\Warewolf\Audits\AuditTestDB.db"; if (File.Exists(testDBPath)) { File.Delete(testDBPath); } var testTableName = "Logs"; var logger = new LoggerConfiguration().WriteTo.SQLite(testDBPath, testTableName).CreateLogger(); var mockSeriLogConfig = new Mock <ISeriLogConfig>(); mockSeriLogConfig.SetupGet(o => o.ConnectionString).Returns(testDBPath); mockSeriLogConfig.SetupGet(o => o.Logger).Returns(logger); var loggerSource = new SeriLoggerSource { ConnectionString = testDBPath, TableName = testTableName }; using (var loggerConnection = loggerSource.NewConnection(mockSeriLogConfig.Object)) { var loggerPublisher = loggerConnection.NewPublisher(); var error = new { ServerName = "testServer", Error = "testError" }; var fatal = new { ServerName = "testServer", Error = "testFatalError" }; var expectedTestErrorMsgTemplate = "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}"; var expectedTestFatalMsg = "test infomation {testFatalKey}"; var testErrorMsg = $"Error From: {@error.ServerName} : {error.Error} "; //-------------------------Act---------------------------------- loggerPublisher.Info("test message"); loggerPublisher.Error(expectedTestErrorMsgTemplate, DateTime.Now, LogEventLevel.Error, testErrorMsg, Environment.NewLine, "test exception"); loggerPublisher.Fatal(expectedTestFatalMsg, @fatal); }; //-------------------------Assert------------------------------------ var dataFromDB = new TestDatabase(loggerSource.ConnectionString, loggerSource.TableName); var dataList = dataFromDB.GetPublishedData().ToList(); Assert.IsNull(dataList[0]); Assert.AreEqual(expected: LogEventLevel.Error, actual: dataList[1].Level); Assert.AreEqual(expected: "\r\n", actual: dataList[1].NewLine); Assert.AreEqual(expected: "test exception", actual: dataList[1].Exception); Assert.AreEqual(expected: "Error From: testServer : testError ", actual: dataList[1].Message); Assert.AreEqual(expected: LogEventLevel.Verbose, actual: dataList[2].Level); Assert.AreEqual(expected: null, actual: dataList[2].NewLine); Assert.AreEqual(expected: null, actual: dataList[2].Exception); Assert.AreEqual(expected: null, actual: dataList[2].Message); }
private static void ExecuteLogQuery(Dictionary <string, StringBuilder> query, IWebSocketConnection socket, IWriter writer) { var serializer = new Dev2JsonSerializer(); var seriLoggerSource = new SeriLoggerSource(); var auditQueryable = new AuditQueryableSqlite(seriLoggerSource.ConnectionString, seriLoggerSource.TableName); var results = auditQueryable.QueryLogData(query); writer.WriteLine("sending QueryLog to server: " + results + "..."); socket.Send(serializer.Serialize(results)); }
public void SeriLogPublisher_NewPublisher_WriteToSink_UsingAny_ILogEventSink_IPML_WithOutputTemplateFormat_Test_Success() { //-------------------------Arrange------------------------------ var testEventSink = new TestLogEventSink(); var seriConfig = new TestSeriLogSinkConfig(testEventSink); var loggerSource = new SeriLoggerSource(); var loggerConnection = loggerSource.NewConnection(seriConfig); var loggerPublisher = loggerConnection.NewPublisher(); var error = new { ServerName = "testServer", Error = "testError" }; var fatal = new { ServerName = "testServer", Error = "testFatalError" }; var expectedTestInfoMsgTemplate = "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}"; var expectedTestErrorMsgTemplate = "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}"; var expectedTestFatalMsg = "test infomation {testFatalKey}"; var expectedTestErrorMsg = $"Error From: {@error.ServerName} : {error.Error} "; //-------------------------Act---------------------------------- loggerPublisher.Info(expectedTestInfoMsgTemplate, DateTime.Now, LogEventLevel.Information, "test message"); loggerPublisher.Error(expectedTestErrorMsgTemplate, DateTime.Now, LogEventLevel.Error, expectedTestErrorMsg, Environment.NewLine, "test exception"); loggerPublisher.Fatal(expectedTestFatalMsg, @fatal); var actualLogEventList = testEventSink.LogData; var item1 = actualLogEventList[0].Properties.FirstOrDefault(o => o.Key == "Message"); var item2 = actualLogEventList[1].Properties.First(o => o.Key == "Message"); //-------------------------Assert------------------------------- Assert.IsTrue(actualLogEventList.Count == 3); Assert.AreEqual(expected: LogEventLevel.Information, actual: actualLogEventList[0].Level); Assert.AreEqual(expected: expectedTestInfoMsgTemplate, actual: actualLogEventList[0].MessageTemplate.Text); Assert.AreEqual(expected: "Message", actual: item1.Key); Assert.AreEqual(expected: "\"test message\"".ToString(), actual: item1.Value.ToString()); Assert.AreEqual(expected: LogEventLevel.Error, actual: actualLogEventList[1].Level); Assert.AreEqual(expected: expectedTestErrorMsgTemplate, actual: actualLogEventList[1].MessageTemplate.Text); Assert.AreEqual(expected: "\"Error From: testServer : testError \"", actual: item2.Value.ToString()); Assert.AreEqual(expected: LogEventLevel.Fatal, actual: actualLogEventList[2].Level); Assert.AreEqual(expected: 1, actual: actualLogEventList[2].Properties.Count); Assert.IsTrue(actualLogEventList[2].Properties.ContainsKey("testFatalKey")); Assert.AreEqual(1, actualLogEventList[2].Properties.Values.Count()); Assert.AreEqual(expected: expectedTestFatalMsg, actual: actualLogEventList[2].MessageTemplate.Text); }
public void SeriLogPublisher_NewPublisher_Sqlite_WriteToSink_UsingAny_ILogEventSink_IPML_Success() { //-------------------------Arrange------------------------------ var testEventSink = new TestLogEventSink(); var seriConfig = new TestSeriLogSinkConfig(testEventSink); var loggerSource = new SeriLoggerSource(); var loggerConnection = loggerSource.NewConnection(seriConfig); var loggerPublisher = loggerConnection.NewPublisher(); var error = new { ServerName = "testServer", Error = "testError" }; var fatal = new { ServerName = "testServer", Error = "testFatalError" }; var info = new { Message = "test message" }; //-------------------------Act---------------------------------- loggerPublisher.Info(GlobalConstants.WarewolfLogsTemplate, info); loggerPublisher.Error(GlobalConstants.WarewolfLogsTemplate, error); loggerPublisher.Fatal(GlobalConstants.WarewolfLogsTemplate, fatal); var actualLogEventList = testEventSink.LogData; //-------------------------Assert------------------------------- Assert.AreEqual(3, actualLogEventList.Count); Assert.AreEqual(expected: LogEventLevel.Information, actual: actualLogEventList[0].Level); Assert.AreEqual(expected: GlobalConstants.WarewolfLogsTemplate, actual: actualLogEventList[0].MessageTemplate.Text); var o1 = JObject.Parse(actualLogEventList[0].Properties["Data"].ToString()); Assert.AreEqual(expected: "test message", actual: o1["Message"].ToString()); Assert.AreEqual(expected: LogEventLevel.Error, actual: actualLogEventList[1].Level); Assert.AreEqual(expected: GlobalConstants.WarewolfLogsTemplate, actual: actualLogEventList[1].MessageTemplate.Text); var o2 = JObject.Parse(actualLogEventList[1].Properties["Data"].ToString()); Assert.AreEqual(expected: "testServer", o2["ServerName"].ToString()); Assert.AreEqual(expected: "testError", o2["Error"].ToString()); Assert.AreEqual(expected: LogEventLevel.Fatal, actual: actualLogEventList[2].Level); Assert.AreEqual(expected: GlobalConstants.WarewolfLogsTemplate, actual: actualLogEventList[2].MessageTemplate.Text); var o3 = JObject.Parse(actualLogEventList[2].Properties["Data"].ToString()); Assert.AreEqual(expected: "testServer", o3["ServerName"].ToString()); Assert.AreEqual(expected: "testFatalError", o3["Error"].ToString()); }