You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2016/08/28 15:11:39 UTC
[15/50] logging-log4j2 git commit: Fix flow logging more
Fix flow logging more
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/86089b38
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/86089b38
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/86089b38
Branch: refs/heads/LOG4J2-1349-gcfree-threadcontext
Commit: 86089b387153cb3dc66d8807efbfe5d9e761b01c
Parents: 0ab0156
Author: Mikael St�ldal <mi...@magine.com>
Authored: Wed Jun 29 21:08:12 2016 +0200
Committer: Mikael St�ldal <mi...@magine.com>
Committed: Wed Jun 29 21:11:15 2016 +0200
----------------------------------------------------------------------
.../org/apache/logging/log4j/scala/Logger.scala | 8 +-------
.../org/apache/logging/log4j/scala/LoggerMacro.scala | 6 +++---
.../org/apache/logging/log4j/scala/LoggerTest.scala | 8 ++++----
.../org/apache/logging/log4j/scala/Logger.scala | 8 +-------
.../org/apache/logging/log4j/scala/LoggerMacro.scala | 6 +++---
.../org/apache/logging/log4j/scala/LoggerTest.scala | 8 ++++----
.../scala-api/src/main/resources/log4j2.xml | 4 ++--
.../logging/log4j/scalasample/LoggingApp.scala | 15 +++++++++++++--
8 files changed, 31 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86089b38/log4j-api-scala_2.10/src/main/scala/org/apache/logging/log4j/scala/Logger.scala
----------------------------------------------------------------------
diff --git a/log4j-api-scala_2.10/src/main/scala/org/apache/logging/log4j/scala/Logger.scala b/log4j-api-scala_2.10/src/main/scala/org/apache/logging/log4j/scala/Logger.scala
index 5fa2cb7..4999bdb 100644
--- a/log4j-api-scala_2.10/src/main/scala/org/apache/logging/log4j/scala/Logger.scala
+++ b/log4j-api-scala_2.10/src/main/scala/org/apache/logging/log4j/scala/Logger.scala
@@ -454,7 +454,7 @@ class Logger private(val delegate: ExtendedLogger) {
* @param params the parameters to the method.
* @return The built `EntryMessage`
*/
- def traceEntry(params: Any*): EntryMessage =
+ def traceEntry(params: AnyRef*): EntryMessage =
macro LoggerMacro.traceEntryParams
/**
@@ -623,10 +623,4 @@ class Logger private(val delegate: ExtendedLogger) {
delegate.logMessage(FQCN, level, marker, messageFactory.newMessage(message), cause)
}
- // TODO inline this to get FQCN correct
- /** Should normally not be used directly from application code, but needs to be public for access by macros. */
- def traceEntryParams(params: Any*): EntryMessage = {
- delegate.traceEntry(null: String, params) // TODO should not do ifEnabled check
- }
-
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86089b38/log4j-api-scala_2.10/src/main/scala/org/apache/logging/log4j/scala/LoggerMacro.scala
----------------------------------------------------------------------
diff --git a/log4j-api-scala_2.10/src/main/scala/org/apache/logging/log4j/scala/LoggerMacro.scala b/log4j-api-scala_2.10/src/main/scala/org/apache/logging/log4j/scala/LoggerMacro.scala
index 513dd90..507242e 100644
--- a/log4j-api-scala_2.10/src/main/scala/org/apache/logging/log4j/scala/LoggerMacro.scala
+++ b/log4j-api-scala_2.10/src/main/scala/org/apache/logging/log4j/scala/LoggerMacro.scala
@@ -343,7 +343,7 @@ private object LoggerMacro {
c.prefix.splice.delegate.traceEntry()
)
- def traceEntryParams(c: LoggerContext)(params: c.Expr[Any]*): c.Expr[EntryMessage] = {
+ def traceEntryParams(c: LoggerContext)(params: c.Expr[AnyRef]*): c.Expr[EntryMessage] = {
import c.universe._
val isEnabled = Apply(
Select(Select(c.prefix.tree, newTermName("delegate")), newTermName("isEnabled")),
@@ -356,8 +356,8 @@ private object LoggerMacro {
)
val log = Apply(
- Select(c.prefix.tree, newTermName("traceEntryParams")),
- (params map (_.tree)).toList
+ Select(Select(c.prefix.tree, newTermName("delegate")), newTermName("traceEntry")),
+ reify(null: String).tree :: (params map (_.tree)).toList
)
c.Expr[EntryMessage](If(isEnabled, log, reify(null).tree))
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86089b38/log4j-api-scala_2.10/src/test/scala/org/apache/logging/log4j/scala/LoggerTest.scala
----------------------------------------------------------------------
diff --git a/log4j-api-scala_2.10/src/test/scala/org/apache/logging/log4j/scala/LoggerTest.scala b/log4j-api-scala_2.10/src/test/scala/org/apache/logging/log4j/scala/LoggerTest.scala
index d9237a5..4c14d5d 100644
--- a/log4j-api-scala_2.10/src/test/scala/org/apache/logging/log4j/scala/LoggerTest.scala
+++ b/log4j-api-scala_2.10/src/test/scala/org/apache/logging/log4j/scala/LoggerTest.scala
@@ -451,16 +451,16 @@ class LoggerTest extends FunSuite with Matchers with MockitoSugar {
val f = fixture
when(f.mockLogger.isEnabled(Level.TRACE, AbstractLogger.ENTRY_MARKER, null.asInstanceOf[AnyRef], null)).thenReturn(true)
val logger = Logger(f.mockLogger)
- logger.traceEntry("foo", 17)
- verify(f.mockLogger).traceEntry(anyString(), any[Array[AnyRef]])
+ logger.traceEntry("foo", "bar")
+ verify(f.mockLogger).traceEntry(null: String, "foo", "bar")
}
test("traceEntry disabled with params") {
val f = fixture
when(f.mockLogger.isEnabled(Level.TRACE, AbstractLogger.ENTRY_MARKER, null.asInstanceOf[AnyRef], null)).thenReturn(false)
val logger = Logger(f.mockLogger)
- logger.traceEntry("foo", 17)
- verify(f.mockLogger, never).traceEntry(anyString(), any[Array[AnyRef]])
+ logger.traceEntry("foo", "bar")
+ verify(f.mockLogger, never).traceEntry(anyString(), anyString(), anyString())
}
test("traceEntry enabled with message") {
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86089b38/log4j-api-scala_2.11/src/main/scala/org/apache/logging/log4j/scala/Logger.scala
----------------------------------------------------------------------
diff --git a/log4j-api-scala_2.11/src/main/scala/org/apache/logging/log4j/scala/Logger.scala b/log4j-api-scala_2.11/src/main/scala/org/apache/logging/log4j/scala/Logger.scala
index 5fa2cb7..4999bdb 100644
--- a/log4j-api-scala_2.11/src/main/scala/org/apache/logging/log4j/scala/Logger.scala
+++ b/log4j-api-scala_2.11/src/main/scala/org/apache/logging/log4j/scala/Logger.scala
@@ -454,7 +454,7 @@ class Logger private(val delegate: ExtendedLogger) {
* @param params the parameters to the method.
* @return The built `EntryMessage`
*/
- def traceEntry(params: Any*): EntryMessage =
+ def traceEntry(params: AnyRef*): EntryMessage =
macro LoggerMacro.traceEntryParams
/**
@@ -623,10 +623,4 @@ class Logger private(val delegate: ExtendedLogger) {
delegate.logMessage(FQCN, level, marker, messageFactory.newMessage(message), cause)
}
- // TODO inline this to get FQCN correct
- /** Should normally not be used directly from application code, but needs to be public for access by macros. */
- def traceEntryParams(params: Any*): EntryMessage = {
- delegate.traceEntry(null: String, params) // TODO should not do ifEnabled check
- }
-
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86089b38/log4j-api-scala_2.11/src/main/scala/org/apache/logging/log4j/scala/LoggerMacro.scala
----------------------------------------------------------------------
diff --git a/log4j-api-scala_2.11/src/main/scala/org/apache/logging/log4j/scala/LoggerMacro.scala b/log4j-api-scala_2.11/src/main/scala/org/apache/logging/log4j/scala/LoggerMacro.scala
index 77a0a0c..0f1bac5 100644
--- a/log4j-api-scala_2.11/src/main/scala/org/apache/logging/log4j/scala/LoggerMacro.scala
+++ b/log4j-api-scala_2.11/src/main/scala/org/apache/logging/log4j/scala/LoggerMacro.scala
@@ -343,7 +343,7 @@ private object LoggerMacro {
c.prefix.splice.delegate.traceEntry()
)
- def traceEntryParams(c: LoggerContext)(params: c.Expr[Any]*): c.Expr[EntryMessage] = {
+ def traceEntryParams(c: LoggerContext)(params: c.Expr[AnyRef]*): c.Expr[EntryMessage] = {
import c.universe._
val isEnabled = Apply(
Select(Select(c.prefix.tree, newTermName("delegate")), newTermName("isEnabled")),
@@ -356,8 +356,8 @@ private object LoggerMacro {
)
val log = Apply(
- Select(c.prefix.tree, newTermName("traceEntryParams")),
- (params map (_.tree)).toList
+ Select(Select(c.prefix.tree, newTermName("delegate")), newTermName("traceEntry")),
+ reify(null: String).tree :: (params map (_.tree)).toList
)
c.Expr[EntryMessage](If(isEnabled, log, reify(null).tree))
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86089b38/log4j-api-scala_2.11/src/test/scala/org/apache/logging/log4j/scala/LoggerTest.scala
----------------------------------------------------------------------
diff --git a/log4j-api-scala_2.11/src/test/scala/org/apache/logging/log4j/scala/LoggerTest.scala b/log4j-api-scala_2.11/src/test/scala/org/apache/logging/log4j/scala/LoggerTest.scala
index d9237a5..4c14d5d 100644
--- a/log4j-api-scala_2.11/src/test/scala/org/apache/logging/log4j/scala/LoggerTest.scala
+++ b/log4j-api-scala_2.11/src/test/scala/org/apache/logging/log4j/scala/LoggerTest.scala
@@ -451,16 +451,16 @@ class LoggerTest extends FunSuite with Matchers with MockitoSugar {
val f = fixture
when(f.mockLogger.isEnabled(Level.TRACE, AbstractLogger.ENTRY_MARKER, null.asInstanceOf[AnyRef], null)).thenReturn(true)
val logger = Logger(f.mockLogger)
- logger.traceEntry("foo", 17)
- verify(f.mockLogger).traceEntry(anyString(), any[Array[AnyRef]])
+ logger.traceEntry("foo", "bar")
+ verify(f.mockLogger).traceEntry(null: String, "foo", "bar")
}
test("traceEntry disabled with params") {
val f = fixture
when(f.mockLogger.isEnabled(Level.TRACE, AbstractLogger.ENTRY_MARKER, null.asInstanceOf[AnyRef], null)).thenReturn(false)
val logger = Logger(f.mockLogger)
- logger.traceEntry("foo", 17)
- verify(f.mockLogger, never).traceEntry(anyString(), any[Array[AnyRef]])
+ logger.traceEntry("foo", "bar")
+ verify(f.mockLogger, never).traceEntry(anyString(), anyString(), anyString())
}
test("traceEntry enabled with message") {
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86089b38/log4j-samples/scala-api/src/main/resources/log4j2.xml
----------------------------------------------------------------------
diff --git a/log4j-samples/scala-api/src/main/resources/log4j2.xml b/log4j-samples/scala-api/src/main/resources/log4j2.xml
index f5b89b4..ac0664b 100644
--- a/log4j-samples/scala-api/src/main/resources/log4j2.xml
+++ b/log4j-samples/scala-api/src/main/resources/log4j2.xml
@@ -20,12 +20,12 @@
<Appenders>
<Console name="Console">
<PatternLayout>
- <Pattern>%d %5p [%t] %c{1} %X - %m%n</Pattern>
+ <Pattern>%d %5p %c{1} %X %F:%L - %m%n</Pattern>
</PatternLayout>
</Console>
</Appenders>
<Loggers>
- <Root level="INFO">
+ <Root level="TRACE">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86089b38/log4j-samples/scala-api/src/main/scala/org/apache/logging/log4j/scalasample/LoggingApp.scala
----------------------------------------------------------------------
diff --git a/log4j-samples/scala-api/src/main/scala/org/apache/logging/log4j/scalasample/LoggingApp.scala b/log4j-samples/scala-api/src/main/scala/org/apache/logging/log4j/scalasample/LoggingApp.scala
index b50c83b..82c2acf 100644
--- a/log4j-samples/scala-api/src/main/scala/org/apache/logging/log4j/scalasample/LoggingApp.scala
+++ b/log4j-samples/scala-api/src/main/scala/org/apache/logging/log4j/scalasample/LoggingApp.scala
@@ -4,7 +4,18 @@ import org.apache.logging.log4j.scala.Logging
object LoggingApp extends App with Logging {
- val i = 17
- logger.info(s"Hello, world: $i")
+ val s1 = "foo"
+ val s2 = "bar"
+ logger.info(s"Hello, world: $s1 $s2")
+
+ logger.traceEntry()
+ logger.traceEntry(s1, s2)
+ val entryMessage = logger.traceEntry(logger.messageFactory.newMessage("foobar": CharSequence))
+
+ logger.traceExit()
+ logger.traceExit(s2)
+ logger.traceExit(entryMessage)
+ logger.traceExit(entryMessage, s2)
+ logger.traceExit(logger.messageFactory.newMessage("foobar": CharSequence), s2)
}
\ No newline at end of file