Example #1
0
        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));
        }
Example #2
0
        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));
        }