public void SnLog_WriteException() { var loggerBackup = SnLog.Instance; var logger = new TestEventLogger(); SnLog.Instance = logger; Exception thrown = null; try { var x = 1; var y = 2; Trace.WriteLine(y / (x - 1)); } catch (Exception e) { thrown = e; SnLog.WriteException(e, eventId: 123456); } finally { SnLog.Instance = loggerBackup; } var written = logger.Written; Assert.IsNotNull(thrown); Assert.IsTrue(written.Contains("123456")); Assert.IsTrue(written.Contains(thrown.Message)); }
public void SnLog_WriteTypeLoadException() { var loggerBackup = SnLog.Instance; var logger = new TestEventLogger(); SnLog.Instance = logger; Exception thrown = null; try { var types = new[] { typeof(Class1ForLoggingReflectionTypeLoadEx), typeof(Class2ForLoggingReflectionTypeLoadEx) }; var exceptions = new[] { new Exception("Exception1"), new Exception("Exception2"), }; throw new ReflectionTypeLoadException(types, exceptions); } catch (Exception e) { thrown = e; SnLog.WriteException(e, eventId: 123456); } finally { SnLog.Instance = loggerBackup; } Assert.IsNotNull(thrown); var written = logger.Written.Split('\r', '\n')[0]; Assert.IsTrue(written.Contains("123456")); Assert.IsTrue(written.Contains("Exception1")); Assert.IsTrue(written.Contains("Exception2")); Assert.IsTrue(written.Contains(typeof(Class1ForLoggingReflectionTypeLoadEx).FullName)); Assert.IsTrue(written.Contains(typeof(Class2ForLoggingReflectionTypeLoadEx).FullName)); }