You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by mi...@apache.org on 2016/04/18 13:38:05 UTC

[19/50] logging-log4j2 git commit: LOG4J2-1334 MutableLogEvent unit test initial version

LOG4J2-1334 MutableLogEvent unit test initial version


Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/37066643
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/37066643
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/37066643

Branch: refs/heads/LOG4J2-1365
Commit: 37066643e99ae35d9689f4ad1ed6d9296dfb9f3a
Parents: aa4ce1e
Author: rpopma <rp...@apache.org>
Authored: Sun Apr 17 20:43:44 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Sun Apr 17 20:43:44 2016 +0900

----------------------------------------------------------------------
 .../log4j/core/impl/MutableLogEvent.java        |  1 +
 .../log4j/core/impl/MutableLogEventTest.java    | 86 ++++++++++++++++++++
 2 files changed, 87 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/37066643/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/MutableLogEvent.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/MutableLogEvent.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/MutableLogEvent.java
index 9ca179b..9edb6f2 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/MutableLogEvent.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/MutableLogEvent.java
@@ -66,6 +66,7 @@ public class MutableLogEvent implements LogEvent, ReusableMessage {
         this.threadName = event.getThreadName();
         this.threadPriority = event.getThreadPriority();
         this.endOfBatch = event.isEndOfBatch();
+        this.includeLocation = event.isIncludeLocation();
         this.nanoTime = event.getNanoTime();
         setMessage(event.getMessage());
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/37066643/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/MutableLogEventTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/MutableLogEventTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/MutableLogEventTest.java
new file mode 100644
index 0000000..23a49f4
--- /dev/null
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/MutableLogEventTest.java
@@ -0,0 +1,86 @@
+package org.apache.logging.log4j.core.impl;/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.Marker;
+import org.apache.logging.log4j.MarkerManager;
+import org.apache.logging.log4j.ThreadContext;
+import org.apache.logging.log4j.message.Message;
+import org.apache.logging.log4j.message.SimpleMessage;
+import org.apache.logging.log4j.spi.MutableThreadContextStack;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Tests the MutableLogEvent class.
+ */
+public class MutableLogEventTest {
+    private static final Map<String, String> CONTEXTMAP = createContextMap();
+    private static final ThreadContext.ContextStack STACK = new MutableThreadContextStack(Arrays.asList("abc", "xyz"));
+
+    private static Map<String,String> createContextMap() {
+        Map<String,String> result = new HashMap<>();
+        result.put("a", "1");
+        result.put("b", "2");
+        return result;
+    }
+
+    @Test
+    public void testInitFromCopiesAllFields() {
+//        private ThrowableProxy thrownProxy;
+        Log4jLogEvent source = Log4jLogEvent.newBuilder() //
+                .setContextMap(CONTEXTMAP) //
+                .setContextStack(STACK) //
+                .setEndOfBatch(true) //
+                .setIncludeLocation(true) //
+                .setLevel(Level.FATAL) //
+                .setLoggerFqcn("a.b.c.d.e") //
+                .setLoggerName("my name is Logger") //
+                .setMarker(MarkerManager.getMarker("on your marks")) //
+                .setMessage(new SimpleMessage("msg in a bottle")) //
+                .setNanoTime(1234567) //
+                .setSource(new StackTraceElement("myclass", "mymethod", "myfile", 123)) //
+                .setThreadId(100).setThreadName("threadname").setThreadPriority(10) //
+                .setThrown(new RuntimeException("run")) //
+                .setTimeMillis(987654321)
+                .build();
+        MutableLogEvent mutable = new MutableLogEvent();
+        mutable.initFrom(source);
+        assertEquals("contextMap", CONTEXTMAP, mutable.getContextMap());
+        assertEquals("stack", STACK, mutable.getContextStack());
+        assertEquals("endOfBatch", true, mutable.isEndOfBatch());
+        assertEquals("IncludeLocation()", true, mutable.isIncludeLocation());
+        assertEquals("level", Level.FATAL, mutable.getLevel());
+        assertEquals("LoggerFqcn()", source.getLoggerFqcn(), mutable.getLoggerFqcn());
+        assertEquals("LoggerName", source.getLoggerName(), mutable.getLoggerName());
+        assertEquals("marker", source.getMarker(), mutable.getMarker());
+        assertEquals("msg", source.getMessage(), mutable.getMessage());
+        assertEquals("nano", source.getNanoTime(), mutable.getNanoTime());
+        assertEquals("src", source.getSource(), mutable.getSource());
+        assertEquals("tid", source.getThreadId(), mutable.getThreadId());
+        assertEquals("tname", source.getThreadName(), mutable.getThreadName());
+        assertEquals("tpriority", source.getThreadPriority(), mutable.getThreadPriority());
+        assertEquals("throwns", source.getThrown(), mutable.getThrown());
+        assertEquals("proxy", source.getThrownProxy(), mutable.getThrownProxy());
+        assertEquals("millis", source.getTimeMillis(), mutable.getTimeMillis());
+    }
+}
\ No newline at end of file