public void Test() { string message = "This is a test of serialized event data."; Exception myError = new PlatformNotSupportedException("Error.Message", new InsufficientMemoryException()); LogEventArgs arg1 = null; LogEventHandler eh = new LogEventHandler(delegate(object s, LogEventArgs e) { arg1 = e; }); string[] stack = new string[] { "step 1", "step 2" }; using (Log.Start(stack[0])) using (Log.Start(stack[1])) { Log.LogWrite += eh; Log.Error(myError, message); Log.LogWrite -= eh; } Assert.IsNotNull(arg1); Assert.AreEqual(1, arg1.Count); Assert.AreEqual(1, arg1.ToArray().Length); EventData data = arg1.ToArray()[0]; Assert.IsNotNull(data); BasicLogTest.AssertMessage(GetType(), stack, data, LogLevels.Error, message, myError.GetType()); Assert.AreEqual(String.Join("::", stack), data.ToString("{LogStack}")); BinaryFormatter ser = new BinaryFormatter(); MemoryStream ms = new MemoryStream(); ser.Serialize(ms, arg1); Assert.Greater((int)ms.Position, 0); ms.Position = 0; object restored = ser.Deserialize(ms); Assert.IsNotNull(restored); Assert.AreEqual(typeof(LogEventArgs), restored.GetType()); LogEventArgs arg2 = restored as LogEventArgs; Assert.IsNotNull(arg2); Assert.AreEqual(1, arg2.Count); Assert.AreEqual(1, arg2.ToArray().Length); data = arg2.ToArray()[0]; Assert.IsNotNull(data); Assert.IsNotNull(data.Exception); Assert.AreNotEqual(myError.GetType(), data.Exception.GetType()); Assert.AreEqual(typeof(Log).Assembly, data.Exception.GetType().Assembly); Assert.AreEqual(myError.Message, data.Exception.Message); Assert.AreEqual(myError.StackTrace, data.Exception.StackTrace); Assert.AreEqual(myError.Source, data.Exception.Source); Assert.AreEqual(myError.ToString(), data.Exception.ToString()); BasicLogTest.AssertMessage(GetType(), stack, data, LogLevels.Error, message, data.Exception.GetType()); }
public void TestVerbose() { Exception e = new PlatformNotSupportedException(); Log.Verbose(e); AssertMessage(LastMessage, LogLevels.Verbose, e.Message, e.GetType()); Log.Verbose(e, "a-->{0}", UniqueData); AssertMessage(LastMessage, LogLevels.Verbose, String.Format("a-->{0}", UniqueData), e.GetType()); Log.Verbose("b-->{0}", UniqueData); AssertMessage(LastMessage, LogLevels.Verbose, String.Format("b-->{0}", UniqueData), null); Log.Config.Level = LogLevels.None; LastMessage.ToString(); Log.Verbose(e); Assert.AreEqual(0, _lastMessages.Count); Log.Verbose(e, "a-->{0}", UniqueData); Assert.AreEqual(0, _lastMessages.Count); Log.Verbose("b-->{0}", UniqueData); Assert.AreEqual(0, _lastMessages.Count); }