コード例 #1
0
ファイル: EntryTests.cs プロジェクト: dineshkummarc/Log5
        public static void CanDeserializeComplexEntry()
        {
            var entry = new LogEntry(LogLevel.Debug, "DEBUG", new Json[] { "arg" });
            entry.Tag("tag");
            entry.AttachObject("two", 2);
            var json = JsonConvert.SerializeObject(entry);

            var reconstructedEntry = JsonConvert.DeserializeObject<LogEntry>(json);

            Assert.AreEqual(entry, reconstructedEntry);
        }
コード例 #2
0
ファイル: EntryTests.cs プロジェクト: dineshkummarc/Log5
        public static void CanSerializeComplexEntryToJson()
        {
            var entry = new LogEntry(LogLevel.Debug, "DEBUG", new Json[] { "arg" });
            entry.Tag("tag");
            entry.AttachObject("two", 2);
            var dt = entry.DateTime;
            var dtstr = dt.ToString("yyyy-MM-ddTHH:mm:ss.FFFFFFFZ");
            var expectedJson = String.Format("{{\"DateTime\":\"{0}\",\"LogLevel\":{1},\"Message\":\"{2}\",\"TagList\":[\"tag\"],\"Parameters\":{{\"0\":\"arg\"}},\"Attachments\":{{\"two\":2}}}}", dtstr, (int)LogLevel.Debug, "DEBUG");
            var json = JsonConvert.SerializeObject(entry);

            Assert.AreEqual(expectedJson, json);
        }
コード例 #3
0
            public override void Log(LogEntry logEntry)
            {
                foreach (var tag in TagList)
                {
                    logEntry.Tag(tag);
                }

                foreach (var kv in AttachObjects)
                {
                    var key = kv.Key;
                    var obj = kv.Value;

                    logEntry.AttachObject(key, obj);
                }
            }