You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2018/04/03 21:06:29 UTC
[07/50] [abbrv] logging-log4j-scala git commit: Fix packaging issues
with macro file
Fix packaging issues with macro file
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/commit/53cfa5db
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/tree/53cfa5db
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/diff/53cfa5db
Branch: refs/heads/master
Commit: 53cfa5db91e59f28026032ba0ab341001a3e78a9
Parents: 47ba596
Author: Matt Sicker <bo...@gmail.com>
Authored: Thu Mar 29 15:04:22 2018 -0500
Committer: Matt Sicker <bo...@gmail.com>
Committed: Thu Mar 29 15:04:22 2018 -0500
----------------------------------------------------------------------
Jenkinsfile | 4 +-
build.sbt | 42 +-
project/Dependencies.scala | 17 +-
.../logging/log4j/scala/LoggerMacro.scala | 425 +++++++++++++++++++
.../logging/log4j/scala/LoggerMacro.scala | 425 -------------------
5 files changed, 466 insertions(+), 447 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/blob/53cfa5db/Jenkinsfile
----------------------------------------------------------------------
diff --git a/Jenkinsfile b/Jenkinsfile
index a117fc0..032d4d1 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -42,9 +42,9 @@ pipeline {
when { branch 'master' }
steps {
ansiColor('xterm') {
+ sh './sbt -batch "+ publish"'
// FIXME: LOG4J2-2291
- //sh './sbt -batch "+ publish"'
- archiveArtifacts artifacts: 'target/**/*.jar', fingerprint: true
+ archiveArtifacts artifacts: 'target/repository/**'
}
}
}
http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/blob/53cfa5db/build.sbt
----------------------------------------------------------------------
diff --git a/build.sbt b/build.sbt
index 5cc1c21..118337c 100644
--- a/build.sbt
+++ b/build.sbt
@@ -1,4 +1,5 @@
import Dependencies._
+//import OsgiKeys._
lazy val metadataSettings = Seq(
organization := "org.apache.logging.log4j",
@@ -45,41 +46,48 @@ lazy val publishSettings = Seq(
publishArtifact in Test := false,
publishTo := {
if (isSnapshot.value) {
- Some("Apache Snapshots" at "https://repository.apache.org/content/repositories/snapshots")
+ // FIXME: LOG4J2-2291
+ //Some("Apache Snapshots" at "https://repository.apache.org/content/repositories/snapshots")
+ Some(Resolver.file("file", file("target/repository/")))
} else {
Some("Apache Releases" at "https://repository.apache.org/service/local/staging/deploy/maven2")
}
- },
- credentials += Credentials(Path.userHome / ".ivy2" / ".credentials"),
+ }
+// credentials += Credentials(Path.userHome / ".ivy2" / ".credentials")
// managedResources
// resourceGenerators in Compile += inlineTask(Seq(file("LICENSE.txt"), file("NOTICE.txt")))
)
lazy val releaseSettings = Seq(
- releaseCrossBuild := true
+ releaseCrossBuild := true,
+ apiURL := Some(url(s"https://logging.apache.org/log4j/scala/log4j-api-scala_${scalaBinaryVersion.value}/scaladocs/"))
)
lazy val apiDependencies = Seq(
libraryDependencies ++= Seq(
- "org.scala-lang" % "scala-reflect" % scalaVersion.value,
- "org.apache.logging.log4j" % "log4j-api" % log4j,
- "org.apache.logging.log4j" % "log4j-api" % log4j % Test classifier "tests",
- "junit" % "junit" % junit % Test,
- "org.scalatest" %% "scalatest" % scalatest % Test,
- "org.mockito" % "mockito-core" % mockito % Test
+ scalaReflect(scalaVersion.value),
+ osgiCoreApi,
+ log4jApi,
+ log4jApiTests,
+ junit,
+ scalatest,
+ mockito
)
)
lazy val apiInputFiles = Seq(
- sources in Compile := {
- val filteredFiles = {
- for ((_, minor) <- CrossVersion.partialVersion(scalaVersion.value) if minor == 10)
- yield ((baseDirectory.value / "src" / "main" / "scala") ** "*Macro.scala").get
- }.getOrElse(Seq())
- (sources in Compile).value.filterNot(filteredFiles.contains)
+ unmanagedSources in Compile := {
+ val Some((_, minor)) = CrossVersion.partialVersion(scalaVersion.value)
+ val extras = if (minor > 10) ((baseDirectory.value / "src" / "main" / "scala-2.11+") ** "*.scala").get else Nil
+ (unmanagedSources in Compile).value ++ extras
}
)
+//lazy val bundleSettings = osgiSettings ++ Seq(
+// bundleSymbolicName := "org.apache.logging.log4j.scala",
+// exportPackage := Seq("org.apache.logging.log4j.scala")
+//)
+
lazy val root = (project in file("."))
.settings(name := "log4j-api-scala")
.settings(metadataSettings: _*)
@@ -88,6 +96,8 @@ lazy val root = (project in file("."))
.settings(releaseSettings: _*)
.settings(apiDependencies: _*)
.settings(apiInputFiles: _*)
+// .enablePlugins(SbtOsgi)
+// .settings(bundleSettings: _*)
//lazy val nopublish = Seq(
// publish := {},
http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/blob/53cfa5db/project/Dependencies.scala
----------------------------------------------------------------------
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index be85a27..0de9510 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -1,10 +1,19 @@
+import sbt._
+
object Dependencies {
val scala210 = "2.10.7"
val scala211 = "2.11.12"
val scala212 = "2.12.4"
val scala213 = "2.13.0-M2"
- val log4j = "2.11.0"
- val junit = "4.12"
- val scalatest = "3.0.4"
- val mockito = "1.10.19"
+
+ def scalaReflect(version: String): ModuleID =
+ "org.scala-lang" % "scala-reflect" % version
+
+ val osgiCoreApi = "org.osgi" % "org.osgi.core" % "4.3.0" % Provided
+ private val log4jV = "2.11.0"
+ val log4jApi = "org.apache.logging.log4j" % "log4j-api" % log4jV
+ val log4jApiTests = "org.apache.logging.log4j" % "log4j-api" % log4jV % Test classifier "tests"
+ val junit = "junit" % "junit" % "4.12" % Test
+ val scalatest = "org.scalatest" %% "scalatest" % "3.0.4" % Test
+ val mockito = "org.mockito" % "mockito-core" % "1.10.19" % Test
}
http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/blob/53cfa5db/src/main/scala-2.11+/org/apache/logging/log4j/scala/LoggerMacro.scala
----------------------------------------------------------------------
diff --git a/src/main/scala-2.11+/org/apache/logging/log4j/scala/LoggerMacro.scala b/src/main/scala-2.11+/org/apache/logging/log4j/scala/LoggerMacro.scala
new file mode 100644
index 0000000..3b54db1
--- /dev/null
+++ b/src/main/scala-2.11+/org/apache/logging/log4j/scala/LoggerMacro.scala
@@ -0,0 +1,425 @@
+/*
+ * 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.
+ */
+package org.apache.logging.log4j.scala
+
+import org.apache.logging.log4j.message.{EntryMessage, Message}
+import org.apache.logging.log4j.spi.AbstractLogger
+import org.apache.logging.log4j.{Level, Marker}
+
+import scala.language.experimental.macros
+import scala.reflect.macros.blackbox
+
+/**
+ * Inspired from [[https://github.com/typesafehub/scalalogging ScalaLogging]].
+ */
+private object LoggerMacro {
+
+ type LoggerContext = blackbox.Context { type PrefixType = Logger }
+
+
+ def fatalMarkerMsg(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message]) =
+ logMarkerMsg(c)(c.universe.reify(Level.FATAL), marker, message)
+
+ def fatalMarkerCseq(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence]) =
+ logMarkerCseq(c)(c.universe.reify(Level.FATAL), marker, message)
+
+ def fatalMarkerObject(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef]) =
+ logMarkerObject(c)(c.universe.reify(Level.FATAL), marker, message)
+
+ def fatalMarkerMsgThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message], cause: c.Expr[Throwable]) =
+ logMarkerMsgThrowable(c)(c.universe.reify(Level.FATAL), marker, message, cause)
+
+ def fatalMarkerCseqThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
+ logMarkerCseqThrowable(c)(c.universe.reify(Level.FATAL), marker, message, cause)
+
+ def fatalMarkerObjectThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
+ logMarkerObjectThrowable(c)(c.universe.reify(Level.FATAL), marker, message, cause)
+
+ def fatalMsg(c: LoggerContext)(message: c.Expr[Message]) =
+ logMsg(c)(c.universe.reify(Level.FATAL), message)
+
+ def fatalCseq(c: LoggerContext)(message: c.Expr[CharSequence]) =
+ logCseq(c)(c.universe.reify(Level.FATAL), message)
+
+ def fatalObject(c: LoggerContext)(message: c.Expr[AnyRef]) =
+ logObject(c)(c.universe.reify(Level.FATAL), message)
+
+ def fatalMsgThrowable(c: LoggerContext)(message: c.Expr[Message], cause: c.Expr[Throwable]) =
+ logMsgThrowable(c)(c.universe.reify(Level.FATAL), message, cause)
+
+ def fatalCseqThrowable(c: LoggerContext)(message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
+ logCseqThrowable(c)(c.universe.reify(Level.FATAL), message, cause)
+
+ def fatalObjectThrowable(c: LoggerContext)(message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
+ logObjectThrowable(c)(c.universe.reify(Level.FATAL), message, cause)
+
+
+ def errorMarkerMsg(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message]) =
+ logMarkerMsg(c)(c.universe.reify(Level.ERROR), marker, message)
+
+ def errorMarkerCseq(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence]) =
+ logMarkerCseq(c)(c.universe.reify(Level.ERROR), marker, message)
+
+ def errorMarkerObject(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef]) =
+ logMarkerObject(c)(c.universe.reify(Level.ERROR), marker, message)
+
+ def errorMarkerMsgThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message], cause: c.Expr[Throwable]) =
+ logMarkerMsgThrowable(c)(c.universe.reify(Level.ERROR), marker, message, cause)
+
+ def errorMarkerCseqThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
+ logMarkerCseqThrowable(c)(c.universe.reify(Level.ERROR), marker, message, cause)
+
+ def errorMarkerObjectThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
+ logMarkerObjectThrowable(c)(c.universe.reify(Level.ERROR), marker, message, cause)
+
+ def errorMsg(c: LoggerContext)(message: c.Expr[Message]) =
+ logMsg(c)(c.universe.reify(Level.ERROR), message)
+
+ def errorCseq(c: LoggerContext)(message: c.Expr[CharSequence]) =
+ logCseq(c)(c.universe.reify(Level.ERROR), message)
+
+ def errorObject(c: LoggerContext)(message: c.Expr[AnyRef]) =
+ logObject(c)(c.universe.reify(Level.ERROR), message)
+
+ def errorMsgThrowable(c: LoggerContext)(message: c.Expr[Message], cause: c.Expr[Throwable]) =
+ logMsgThrowable(c)(c.universe.reify(Level.ERROR), message, cause)
+
+ def errorCseqThrowable(c: LoggerContext)(message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
+ logCseqThrowable(c)(c.universe.reify(Level.ERROR), message, cause)
+
+ def errorObjectThrowable(c: LoggerContext)(message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
+ logObjectThrowable(c)(c.universe.reify(Level.ERROR), message, cause)
+
+
+ def warnMarkerMsg(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message]) =
+ logMarkerMsg(c)(c.universe.reify(Level.WARN), marker, message)
+
+ def warnMarkerCseq(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence]) =
+ logMarkerCseq(c)(c.universe.reify(Level.WARN), marker, message)
+
+ def warnMarkerObject(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef]) =
+ logMarkerObject(c)(c.universe.reify(Level.WARN), marker, message)
+
+ def warnMarkerMsgThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message], cause: c.Expr[Throwable]) =
+ logMarkerMsgThrowable(c)(c.universe.reify(Level.WARN), marker, message, cause)
+
+ def warnMarkerCseqThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
+ logMarkerCseqThrowable(c)(c.universe.reify(Level.WARN), marker, message, cause)
+
+ def warnMarkerObjectThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
+ logMarkerObjectThrowable(c)(c.universe.reify(Level.WARN), marker, message, cause)
+
+ def warnMsg(c: LoggerContext)(message: c.Expr[Message]) =
+ logMsg(c)(c.universe.reify(Level.WARN), message)
+
+ def warnCseq(c: LoggerContext)(message: c.Expr[CharSequence]) =
+ logCseq(c)(c.universe.reify(Level.WARN), message)
+
+ def warnObject(c: LoggerContext)(message: c.Expr[AnyRef]) =
+ logObject(c)(c.universe.reify(Level.WARN), message)
+
+ def warnMsgThrowable(c: LoggerContext)(message: c.Expr[Message], cause: c.Expr[Throwable]) =
+ logMsgThrowable(c)(c.universe.reify(Level.WARN), message, cause)
+
+ def warnCseqThrowable(c: LoggerContext)(message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
+ logCseqThrowable(c)(c.universe.reify(Level.WARN), message, cause)
+
+ def warnObjectThrowable(c: LoggerContext)(message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
+ logObjectThrowable(c)(c.universe.reify(Level.WARN), message, cause)
+
+
+ def infoMarkerMsg(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message]) =
+ logMarkerMsg(c)(c.universe.reify(Level.INFO), marker, message)
+
+ def infoMarkerCseq(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence]) =
+ logMarkerCseq(c)(c.universe.reify(Level.INFO), marker, message)
+
+ def infoMarkerObject(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef]) =
+ logMarkerObject(c)(c.universe.reify(Level.INFO), marker, message)
+
+ def infoMarkerMsgThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message], cause: c.Expr[Throwable]) =
+ logMarkerMsgThrowable(c)(c.universe.reify(Level.INFO), marker, message, cause)
+
+ def infoMarkerCseqThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
+ logMarkerCseqThrowable(c)(c.universe.reify(Level.INFO), marker, message, cause)
+
+ def infoMarkerObjectThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
+ logMarkerObjectThrowable(c)(c.universe.reify(Level.INFO), marker, message, cause)
+
+ def infoMsg(c: LoggerContext)(message: c.Expr[Message]) =
+ logMsg(c)(c.universe.reify(Level.INFO), message)
+
+ def infoCseq(c: LoggerContext)(message: c.Expr[CharSequence]) =
+ logCseq(c)(c.universe.reify(Level.INFO), message)
+
+ def infoObject(c: LoggerContext)(message: c.Expr[AnyRef]) =
+ logObject(c)(c.universe.reify(Level.INFO), message)
+
+ def infoMsgThrowable(c: LoggerContext)(message: c.Expr[Message], cause: c.Expr[Throwable]) =
+ logMsgThrowable(c)(c.universe.reify(Level.INFO), message, cause)
+
+ def infoCseqThrowable(c: LoggerContext)(message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
+ logCseqThrowable(c)(c.universe.reify(Level.INFO), message, cause)
+
+ def infoObjectThrowable(c: LoggerContext)(message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
+ logObjectThrowable(c)(c.universe.reify(Level.INFO), message, cause)
+
+
+ def debugMarkerMsg(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message]) =
+ logMarkerMsg(c)(c.universe.reify(Level.DEBUG), marker, message)
+
+ def debugMarkerCseq(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence]) =
+ logMarkerCseq(c)(c.universe.reify(Level.DEBUG), marker, message)
+
+ def debugMarkerObject(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef]) =
+ logMarkerObject(c)(c.universe.reify(Level.DEBUG), marker, message)
+
+ def debugMarkerMsgThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message], cause: c.Expr[Throwable]) =
+ logMarkerMsgThrowable(c)(c.universe.reify(Level.DEBUG), marker, message, cause)
+
+ def debugMarkerCseqThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
+ logMarkerCseqThrowable(c)(c.universe.reify(Level.DEBUG), marker, message, cause)
+
+ def debugMarkerObjectThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
+ logMarkerObjectThrowable(c)(c.universe.reify(Level.DEBUG), marker, message, cause)
+
+ def debugMsg(c: LoggerContext)(message: c.Expr[Message]) =
+ logMsg(c)(c.universe.reify(Level.DEBUG), message)
+
+ def debugCseq(c: LoggerContext)(message: c.Expr[CharSequence]) =
+ logCseq(c)(c.universe.reify(Level.DEBUG), message)
+
+ def debugObject(c: LoggerContext)(message: c.Expr[AnyRef]) =
+ logObject(c)(c.universe.reify(Level.DEBUG), message)
+
+ def debugMsgThrowable(c: LoggerContext)(message: c.Expr[Message], cause: c.Expr[Throwable]) =
+ logMsgThrowable(c)(c.universe.reify(Level.DEBUG), message, cause)
+
+ def debugCseqThrowable(c: LoggerContext)(message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
+ logCseqThrowable(c)(c.universe.reify(Level.DEBUG), message, cause)
+
+ def debugObjectThrowable(c: LoggerContext)(message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
+ logObjectThrowable(c)(c.universe.reify(Level.DEBUG), message, cause)
+
+
+ def traceMarkerMsg(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message]) =
+ logMarkerMsg(c)(c.universe.reify(Level.TRACE), marker, message)
+
+ def traceMarkerCseq(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence]) =
+ logMarkerCseq(c)(c.universe.reify(Level.TRACE), marker, message)
+
+ def traceMarkerObject(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef]) =
+ logMarkerObject(c)(c.universe.reify(Level.TRACE), marker, message)
+
+ def traceMarkerMsgThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message], cause: c.Expr[Throwable]) =
+ logMarkerMsgThrowable(c)(c.universe.reify(Level.TRACE), marker, message, cause)
+
+ def traceMarkerCseqThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
+ logMarkerCseqThrowable(c)(c.universe.reify(Level.TRACE), marker, message, cause)
+
+ def traceMarkerObjectThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
+ logMarkerObjectThrowable(c)(c.universe.reify(Level.TRACE), marker, message, cause)
+
+ def traceMsg(c: LoggerContext)(message: c.Expr[Message]) =
+ logMsg(c)(c.universe.reify(Level.TRACE), message)
+
+ def traceCseq(c: LoggerContext)(message: c.Expr[CharSequence]) =
+ logCseq(c)(c.universe.reify(Level.TRACE), message)
+
+ def traceObject(c: LoggerContext)(message: c.Expr[AnyRef]) =
+ logObject(c)(c.universe.reify(Level.TRACE), message)
+
+ def traceMsgThrowable(c: LoggerContext)(message: c.Expr[Message], cause: c.Expr[Throwable]) =
+ logMsgThrowable(c)(c.universe.reify(Level.TRACE), message, cause)
+
+ def traceCseqThrowable(c: LoggerContext)(message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
+ logCseqThrowable(c)(c.universe.reify(Level.TRACE), message, cause)
+
+ def traceObjectThrowable(c: LoggerContext)(message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
+ logObjectThrowable(c)(c.universe.reify(Level.TRACE), message, cause)
+
+
+ def logMarkerMsg(c: LoggerContext)(level: c.Expr[Level], marker: c.Expr[Marker], message: c.Expr[Message]) =
+ c.universe.reify(
+ if (c.prefix.splice.delegate.isEnabled(level.splice, marker.splice)) {
+ c.prefix.splice.logMessage(level.splice, marker.splice, message.splice, null)
+ }
+ )
+
+ def logMarkerCseq(c: LoggerContext)(level: c.Expr[Level], marker: c.Expr[Marker], message: c.Expr[CharSequence]) =
+ c.universe.reify(
+ if (c.prefix.splice.delegate.isEnabled(level.splice, marker.splice)) {
+ c.prefix.splice.logMessage(level.splice, marker.splice, message.splice, null)
+ }
+ )
+
+ def logMarkerObject(c: LoggerContext)(level: c.Expr[Level], marker: c.Expr[Marker], message: c.Expr[AnyRef]) =
+ c.universe.reify(
+ if (c.prefix.splice.delegate.isEnabled(level.splice, marker.splice)) {
+ c.prefix.splice.logMessage(level.splice, marker.splice, message.splice, null)
+ }
+ )
+
+ def logMarkerMsgThrowable(c: LoggerContext)(level: c.Expr[Level], marker: c.Expr[Marker], message: c.Expr[Message], cause: c.Expr[Throwable]) =
+ c.universe.reify(
+ if (c.prefix.splice.delegate.isEnabled(level.splice, marker.splice)) {
+ c.prefix.splice.logMessage(level.splice, marker.splice, message.splice, cause.splice)
+ }
+ )
+
+ def logMarkerCseqThrowable(c: LoggerContext)(level: c.Expr[Level], marker: c.Expr[Marker], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
+ c.universe.reify(
+ if (c.prefix.splice.delegate.isEnabled(level.splice, marker.splice)) {
+ c.prefix.splice.logMessage(level.splice, marker.splice, message.splice, cause.splice)
+ }
+ )
+
+ def logMarkerObjectThrowable(c: LoggerContext)(level: c.Expr[Level], marker: c.Expr[Marker], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
+ c.universe.reify(
+ if (c.prefix.splice.delegate.isEnabled(level.splice, marker.splice)) {
+ c.prefix.splice.logMessage(level.splice, marker.splice, message.splice, cause.splice)
+ }
+ )
+
+ def logMsg(c: LoggerContext)(level: c.Expr[Level], message: c.Expr[Message]) =
+ c.universe.reify(
+ if (c.prefix.splice.delegate.isEnabled(level.splice)) {
+ c.prefix.splice.logMessage(level.splice, null, message.splice, null)
+ }
+ )
+
+ def logCseq(c: LoggerContext)(level: c.Expr[Level], message: c.Expr[CharSequence]) =
+ c.universe.reify(
+ if (c.prefix.splice.delegate.isEnabled(level.splice)) {
+ c.prefix.splice.logMessage(level.splice, null, message.splice, null)
+ }
+ )
+
+ def logObject(c: LoggerContext)(level: c.Expr[Level], message: c.Expr[AnyRef]) =
+ c.universe.reify(
+ if (c.prefix.splice.delegate.isEnabled(level.splice)) {
+ c.prefix.splice.logMessage(level.splice, null, message.splice, null)
+ }
+ )
+
+ def logMsgThrowable(c: LoggerContext)(level: c.Expr[Level], message: c.Expr[Message], cause: c.Expr[Throwable]) =
+ c.universe.reify(
+ if (c.prefix.splice.delegate.isEnabled(level.splice)) {
+ c.prefix.splice.logMessage(level.splice, null, message.splice, cause.splice)
+ }
+ )
+
+ def logCseqThrowable(c: LoggerContext)(level: c.Expr[Level], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
+ c.universe.reify(
+ if (c.prefix.splice.delegate.isEnabled(level.splice)) {
+ c.prefix.splice.logMessage(level.splice, null, message.splice, cause.splice)
+ }
+ )
+
+ def logObjectThrowable(c: LoggerContext)(level: c.Expr[Level], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
+ c.universe.reify(
+ if (c.prefix.splice.delegate.isEnabled(level.splice)) {
+ c.prefix.splice.logMessage(level.splice, null, message.splice, cause.splice)
+ }
+ )
+
+
+ def traceEntry(c: LoggerContext)(): c.Expr[EntryMessage] =
+ c.universe.reify(
+ c.prefix.splice.delegate.traceEntry()
+ )
+
+ def traceEntryParams(c: LoggerContext)(params: c.Expr[AnyRef]*): c.Expr[EntryMessage] = {
+ import c.universe._
+ val isEnabled = Apply(
+ Select(Select(c.prefix.tree, TermName("delegate")), TermName("isEnabled")),
+ List(
+ reify(Level.TRACE).tree,
+ reify(AbstractLogger.ENTRY_MARKER).tree,
+ reify(null: AnyRef).tree,
+ reify(null).tree
+ )
+ )
+
+ val log = Apply(
+ Select(Select(c.prefix.tree, TermName("delegate")), TermName("traceEntry")),
+ reify(null: String).tree :: (params map (_.tree)).toList
+ )
+ c.Expr[EntryMessage](If(isEnabled, log, reify(null).tree))
+ }
+
+
+ def traceEntryMessage(c: LoggerContext)(message: c.Expr[Message]): c.Expr[EntryMessage] =
+ c.universe.reify(
+ if (c.prefix.splice.delegate.isEnabled(Level.TRACE, AbstractLogger.ENTRY_MARKER, null: AnyRef, null)) {
+ c.prefix.splice.delegate.traceEntry(message.splice) // TODO should not do ifEnabled check
+ } else {
+ null
+ }
+ )
+
+ def traceExit(c: LoggerContext)(): c.Expr[Unit] =
+ c.universe.reify(
+ c.prefix.splice.delegate.traceExit()
+ )
+
+ def traceExitResult[R: c.WeakTypeTag](c: LoggerContext)(result: c.Expr[R]): c.Expr[R] =
+ c.universe.reify(
+ c.prefix.splice.delegate.traceExit(result.splice)
+ )
+
+ def traceExitEntryMessage(c: LoggerContext)(entryMessage: c.Expr[EntryMessage]): c.Expr[Unit] =
+ c.universe.reify(
+ c.prefix.splice.delegate.traceExit(entryMessage.splice)
+ )
+
+ def traceExitEntryMessageResult[R: c.WeakTypeTag](c: LoggerContext)(entryMessage: c.Expr[EntryMessage], result: c.Expr[R]): c.Expr[R] =
+ c.universe.reify(
+ c.prefix.splice.delegate.traceExit(entryMessage.splice, result.splice)
+ )
+
+ def traceExitMessageResult[R: c.WeakTypeTag](c: LoggerContext)(message: c.Expr[Message], result: c.Expr[R]): c.Expr[R] =
+ c.universe.reify(
+ {
+ if (message.splice != null && c.prefix.splice.delegate.isEnabled(Level.TRACE, AbstractLogger.EXIT_MARKER, message.splice, null)) {
+ c.prefix.splice.delegate.traceExit(message.splice, result.splice) // TODO should not do ifEnabled check
+ }
+ result.splice
+ }
+ )
+
+ def throwing[T <: Throwable: c.WeakTypeTag](c: LoggerContext)(t: c.Expr[T]): c.Expr[T] =
+ c.universe.reify(
+ c.prefix.splice.delegate.throwing(t.splice)
+ )
+
+ def throwingLevel[T <: Throwable: c.WeakTypeTag](c: LoggerContext)(level: c.Expr[Level], t: c.Expr[T]): c.Expr[T] =
+ c.universe.reify(
+ c.prefix.splice.delegate.throwing(level.splice, t.splice)
+ )
+
+ def catching(c: LoggerContext)(t: c.Expr[Throwable]): c.Expr[Unit] =
+ c.universe.reify(
+ c.prefix.splice.delegate.catching(t.splice)
+ )
+
+ def catchingLevel(c: LoggerContext)(level: c.Expr[Level], t: c.Expr[Throwable]): c.Expr[Unit] =
+ c.universe.reify(
+ c.prefix.splice.delegate.catching(level.splice, t.splice)
+ )
+
+}
http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/blob/53cfa5db/src/main/scala/org/apache/logging/log4j/scala/LoggerMacro.scala
----------------------------------------------------------------------
diff --git a/src/main/scala/org/apache/logging/log4j/scala/LoggerMacro.scala b/src/main/scala/org/apache/logging/log4j/scala/LoggerMacro.scala
deleted file mode 100644
index 3b54db1..0000000
--- a/src/main/scala/org/apache/logging/log4j/scala/LoggerMacro.scala
+++ /dev/null
@@ -1,425 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.log4j.scala
-
-import org.apache.logging.log4j.message.{EntryMessage, Message}
-import org.apache.logging.log4j.spi.AbstractLogger
-import org.apache.logging.log4j.{Level, Marker}
-
-import scala.language.experimental.macros
-import scala.reflect.macros.blackbox
-
-/**
- * Inspired from [[https://github.com/typesafehub/scalalogging ScalaLogging]].
- */
-private object LoggerMacro {
-
- type LoggerContext = blackbox.Context { type PrefixType = Logger }
-
-
- def fatalMarkerMsg(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message]) =
- logMarkerMsg(c)(c.universe.reify(Level.FATAL), marker, message)
-
- def fatalMarkerCseq(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence]) =
- logMarkerCseq(c)(c.universe.reify(Level.FATAL), marker, message)
-
- def fatalMarkerObject(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef]) =
- logMarkerObject(c)(c.universe.reify(Level.FATAL), marker, message)
-
- def fatalMarkerMsgThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message], cause: c.Expr[Throwable]) =
- logMarkerMsgThrowable(c)(c.universe.reify(Level.FATAL), marker, message, cause)
-
- def fatalMarkerCseqThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
- logMarkerCseqThrowable(c)(c.universe.reify(Level.FATAL), marker, message, cause)
-
- def fatalMarkerObjectThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
- logMarkerObjectThrowable(c)(c.universe.reify(Level.FATAL), marker, message, cause)
-
- def fatalMsg(c: LoggerContext)(message: c.Expr[Message]) =
- logMsg(c)(c.universe.reify(Level.FATAL), message)
-
- def fatalCseq(c: LoggerContext)(message: c.Expr[CharSequence]) =
- logCseq(c)(c.universe.reify(Level.FATAL), message)
-
- def fatalObject(c: LoggerContext)(message: c.Expr[AnyRef]) =
- logObject(c)(c.universe.reify(Level.FATAL), message)
-
- def fatalMsgThrowable(c: LoggerContext)(message: c.Expr[Message], cause: c.Expr[Throwable]) =
- logMsgThrowable(c)(c.universe.reify(Level.FATAL), message, cause)
-
- def fatalCseqThrowable(c: LoggerContext)(message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
- logCseqThrowable(c)(c.universe.reify(Level.FATAL), message, cause)
-
- def fatalObjectThrowable(c: LoggerContext)(message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
- logObjectThrowable(c)(c.universe.reify(Level.FATAL), message, cause)
-
-
- def errorMarkerMsg(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message]) =
- logMarkerMsg(c)(c.universe.reify(Level.ERROR), marker, message)
-
- def errorMarkerCseq(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence]) =
- logMarkerCseq(c)(c.universe.reify(Level.ERROR), marker, message)
-
- def errorMarkerObject(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef]) =
- logMarkerObject(c)(c.universe.reify(Level.ERROR), marker, message)
-
- def errorMarkerMsgThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message], cause: c.Expr[Throwable]) =
- logMarkerMsgThrowable(c)(c.universe.reify(Level.ERROR), marker, message, cause)
-
- def errorMarkerCseqThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
- logMarkerCseqThrowable(c)(c.universe.reify(Level.ERROR), marker, message, cause)
-
- def errorMarkerObjectThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
- logMarkerObjectThrowable(c)(c.universe.reify(Level.ERROR), marker, message, cause)
-
- def errorMsg(c: LoggerContext)(message: c.Expr[Message]) =
- logMsg(c)(c.universe.reify(Level.ERROR), message)
-
- def errorCseq(c: LoggerContext)(message: c.Expr[CharSequence]) =
- logCseq(c)(c.universe.reify(Level.ERROR), message)
-
- def errorObject(c: LoggerContext)(message: c.Expr[AnyRef]) =
- logObject(c)(c.universe.reify(Level.ERROR), message)
-
- def errorMsgThrowable(c: LoggerContext)(message: c.Expr[Message], cause: c.Expr[Throwable]) =
- logMsgThrowable(c)(c.universe.reify(Level.ERROR), message, cause)
-
- def errorCseqThrowable(c: LoggerContext)(message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
- logCseqThrowable(c)(c.universe.reify(Level.ERROR), message, cause)
-
- def errorObjectThrowable(c: LoggerContext)(message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
- logObjectThrowable(c)(c.universe.reify(Level.ERROR), message, cause)
-
-
- def warnMarkerMsg(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message]) =
- logMarkerMsg(c)(c.universe.reify(Level.WARN), marker, message)
-
- def warnMarkerCseq(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence]) =
- logMarkerCseq(c)(c.universe.reify(Level.WARN), marker, message)
-
- def warnMarkerObject(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef]) =
- logMarkerObject(c)(c.universe.reify(Level.WARN), marker, message)
-
- def warnMarkerMsgThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message], cause: c.Expr[Throwable]) =
- logMarkerMsgThrowable(c)(c.universe.reify(Level.WARN), marker, message, cause)
-
- def warnMarkerCseqThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
- logMarkerCseqThrowable(c)(c.universe.reify(Level.WARN), marker, message, cause)
-
- def warnMarkerObjectThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
- logMarkerObjectThrowable(c)(c.universe.reify(Level.WARN), marker, message, cause)
-
- def warnMsg(c: LoggerContext)(message: c.Expr[Message]) =
- logMsg(c)(c.universe.reify(Level.WARN), message)
-
- def warnCseq(c: LoggerContext)(message: c.Expr[CharSequence]) =
- logCseq(c)(c.universe.reify(Level.WARN), message)
-
- def warnObject(c: LoggerContext)(message: c.Expr[AnyRef]) =
- logObject(c)(c.universe.reify(Level.WARN), message)
-
- def warnMsgThrowable(c: LoggerContext)(message: c.Expr[Message], cause: c.Expr[Throwable]) =
- logMsgThrowable(c)(c.universe.reify(Level.WARN), message, cause)
-
- def warnCseqThrowable(c: LoggerContext)(message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
- logCseqThrowable(c)(c.universe.reify(Level.WARN), message, cause)
-
- def warnObjectThrowable(c: LoggerContext)(message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
- logObjectThrowable(c)(c.universe.reify(Level.WARN), message, cause)
-
-
- def infoMarkerMsg(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message]) =
- logMarkerMsg(c)(c.universe.reify(Level.INFO), marker, message)
-
- def infoMarkerCseq(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence]) =
- logMarkerCseq(c)(c.universe.reify(Level.INFO), marker, message)
-
- def infoMarkerObject(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef]) =
- logMarkerObject(c)(c.universe.reify(Level.INFO), marker, message)
-
- def infoMarkerMsgThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message], cause: c.Expr[Throwable]) =
- logMarkerMsgThrowable(c)(c.universe.reify(Level.INFO), marker, message, cause)
-
- def infoMarkerCseqThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
- logMarkerCseqThrowable(c)(c.universe.reify(Level.INFO), marker, message, cause)
-
- def infoMarkerObjectThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
- logMarkerObjectThrowable(c)(c.universe.reify(Level.INFO), marker, message, cause)
-
- def infoMsg(c: LoggerContext)(message: c.Expr[Message]) =
- logMsg(c)(c.universe.reify(Level.INFO), message)
-
- def infoCseq(c: LoggerContext)(message: c.Expr[CharSequence]) =
- logCseq(c)(c.universe.reify(Level.INFO), message)
-
- def infoObject(c: LoggerContext)(message: c.Expr[AnyRef]) =
- logObject(c)(c.universe.reify(Level.INFO), message)
-
- def infoMsgThrowable(c: LoggerContext)(message: c.Expr[Message], cause: c.Expr[Throwable]) =
- logMsgThrowable(c)(c.universe.reify(Level.INFO), message, cause)
-
- def infoCseqThrowable(c: LoggerContext)(message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
- logCseqThrowable(c)(c.universe.reify(Level.INFO), message, cause)
-
- def infoObjectThrowable(c: LoggerContext)(message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
- logObjectThrowable(c)(c.universe.reify(Level.INFO), message, cause)
-
-
- def debugMarkerMsg(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message]) =
- logMarkerMsg(c)(c.universe.reify(Level.DEBUG), marker, message)
-
- def debugMarkerCseq(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence]) =
- logMarkerCseq(c)(c.universe.reify(Level.DEBUG), marker, message)
-
- def debugMarkerObject(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef]) =
- logMarkerObject(c)(c.universe.reify(Level.DEBUG), marker, message)
-
- def debugMarkerMsgThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message], cause: c.Expr[Throwable]) =
- logMarkerMsgThrowable(c)(c.universe.reify(Level.DEBUG), marker, message, cause)
-
- def debugMarkerCseqThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
- logMarkerCseqThrowable(c)(c.universe.reify(Level.DEBUG), marker, message, cause)
-
- def debugMarkerObjectThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
- logMarkerObjectThrowable(c)(c.universe.reify(Level.DEBUG), marker, message, cause)
-
- def debugMsg(c: LoggerContext)(message: c.Expr[Message]) =
- logMsg(c)(c.universe.reify(Level.DEBUG), message)
-
- def debugCseq(c: LoggerContext)(message: c.Expr[CharSequence]) =
- logCseq(c)(c.universe.reify(Level.DEBUG), message)
-
- def debugObject(c: LoggerContext)(message: c.Expr[AnyRef]) =
- logObject(c)(c.universe.reify(Level.DEBUG), message)
-
- def debugMsgThrowable(c: LoggerContext)(message: c.Expr[Message], cause: c.Expr[Throwable]) =
- logMsgThrowable(c)(c.universe.reify(Level.DEBUG), message, cause)
-
- def debugCseqThrowable(c: LoggerContext)(message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
- logCseqThrowable(c)(c.universe.reify(Level.DEBUG), message, cause)
-
- def debugObjectThrowable(c: LoggerContext)(message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
- logObjectThrowable(c)(c.universe.reify(Level.DEBUG), message, cause)
-
-
- def traceMarkerMsg(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message]) =
- logMarkerMsg(c)(c.universe.reify(Level.TRACE), marker, message)
-
- def traceMarkerCseq(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence]) =
- logMarkerCseq(c)(c.universe.reify(Level.TRACE), marker, message)
-
- def traceMarkerObject(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef]) =
- logMarkerObject(c)(c.universe.reify(Level.TRACE), marker, message)
-
- def traceMarkerMsgThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[Message], cause: c.Expr[Throwable]) =
- logMarkerMsgThrowable(c)(c.universe.reify(Level.TRACE), marker, message, cause)
-
- def traceMarkerCseqThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
- logMarkerCseqThrowable(c)(c.universe.reify(Level.TRACE), marker, message, cause)
-
- def traceMarkerObjectThrowable(c: LoggerContext)(marker: c.Expr[Marker], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
- logMarkerObjectThrowable(c)(c.universe.reify(Level.TRACE), marker, message, cause)
-
- def traceMsg(c: LoggerContext)(message: c.Expr[Message]) =
- logMsg(c)(c.universe.reify(Level.TRACE), message)
-
- def traceCseq(c: LoggerContext)(message: c.Expr[CharSequence]) =
- logCseq(c)(c.universe.reify(Level.TRACE), message)
-
- def traceObject(c: LoggerContext)(message: c.Expr[AnyRef]) =
- logObject(c)(c.universe.reify(Level.TRACE), message)
-
- def traceMsgThrowable(c: LoggerContext)(message: c.Expr[Message], cause: c.Expr[Throwable]) =
- logMsgThrowable(c)(c.universe.reify(Level.TRACE), message, cause)
-
- def traceCseqThrowable(c: LoggerContext)(message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
- logCseqThrowable(c)(c.universe.reify(Level.TRACE), message, cause)
-
- def traceObjectThrowable(c: LoggerContext)(message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
- logObjectThrowable(c)(c.universe.reify(Level.TRACE), message, cause)
-
-
- def logMarkerMsg(c: LoggerContext)(level: c.Expr[Level], marker: c.Expr[Marker], message: c.Expr[Message]) =
- c.universe.reify(
- if (c.prefix.splice.delegate.isEnabled(level.splice, marker.splice)) {
- c.prefix.splice.logMessage(level.splice, marker.splice, message.splice, null)
- }
- )
-
- def logMarkerCseq(c: LoggerContext)(level: c.Expr[Level], marker: c.Expr[Marker], message: c.Expr[CharSequence]) =
- c.universe.reify(
- if (c.prefix.splice.delegate.isEnabled(level.splice, marker.splice)) {
- c.prefix.splice.logMessage(level.splice, marker.splice, message.splice, null)
- }
- )
-
- def logMarkerObject(c: LoggerContext)(level: c.Expr[Level], marker: c.Expr[Marker], message: c.Expr[AnyRef]) =
- c.universe.reify(
- if (c.prefix.splice.delegate.isEnabled(level.splice, marker.splice)) {
- c.prefix.splice.logMessage(level.splice, marker.splice, message.splice, null)
- }
- )
-
- def logMarkerMsgThrowable(c: LoggerContext)(level: c.Expr[Level], marker: c.Expr[Marker], message: c.Expr[Message], cause: c.Expr[Throwable]) =
- c.universe.reify(
- if (c.prefix.splice.delegate.isEnabled(level.splice, marker.splice)) {
- c.prefix.splice.logMessage(level.splice, marker.splice, message.splice, cause.splice)
- }
- )
-
- def logMarkerCseqThrowable(c: LoggerContext)(level: c.Expr[Level], marker: c.Expr[Marker], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
- c.universe.reify(
- if (c.prefix.splice.delegate.isEnabled(level.splice, marker.splice)) {
- c.prefix.splice.logMessage(level.splice, marker.splice, message.splice, cause.splice)
- }
- )
-
- def logMarkerObjectThrowable(c: LoggerContext)(level: c.Expr[Level], marker: c.Expr[Marker], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
- c.universe.reify(
- if (c.prefix.splice.delegate.isEnabled(level.splice, marker.splice)) {
- c.prefix.splice.logMessage(level.splice, marker.splice, message.splice, cause.splice)
- }
- )
-
- def logMsg(c: LoggerContext)(level: c.Expr[Level], message: c.Expr[Message]) =
- c.universe.reify(
- if (c.prefix.splice.delegate.isEnabled(level.splice)) {
- c.prefix.splice.logMessage(level.splice, null, message.splice, null)
- }
- )
-
- def logCseq(c: LoggerContext)(level: c.Expr[Level], message: c.Expr[CharSequence]) =
- c.universe.reify(
- if (c.prefix.splice.delegate.isEnabled(level.splice)) {
- c.prefix.splice.logMessage(level.splice, null, message.splice, null)
- }
- )
-
- def logObject(c: LoggerContext)(level: c.Expr[Level], message: c.Expr[AnyRef]) =
- c.universe.reify(
- if (c.prefix.splice.delegate.isEnabled(level.splice)) {
- c.prefix.splice.logMessage(level.splice, null, message.splice, null)
- }
- )
-
- def logMsgThrowable(c: LoggerContext)(level: c.Expr[Level], message: c.Expr[Message], cause: c.Expr[Throwable]) =
- c.universe.reify(
- if (c.prefix.splice.delegate.isEnabled(level.splice)) {
- c.prefix.splice.logMessage(level.splice, null, message.splice, cause.splice)
- }
- )
-
- def logCseqThrowable(c: LoggerContext)(level: c.Expr[Level], message: c.Expr[CharSequence], cause: c.Expr[Throwable]) =
- c.universe.reify(
- if (c.prefix.splice.delegate.isEnabled(level.splice)) {
- c.prefix.splice.logMessage(level.splice, null, message.splice, cause.splice)
- }
- )
-
- def logObjectThrowable(c: LoggerContext)(level: c.Expr[Level], message: c.Expr[AnyRef], cause: c.Expr[Throwable]) =
- c.universe.reify(
- if (c.prefix.splice.delegate.isEnabled(level.splice)) {
- c.prefix.splice.logMessage(level.splice, null, message.splice, cause.splice)
- }
- )
-
-
- def traceEntry(c: LoggerContext)(): c.Expr[EntryMessage] =
- c.universe.reify(
- c.prefix.splice.delegate.traceEntry()
- )
-
- def traceEntryParams(c: LoggerContext)(params: c.Expr[AnyRef]*): c.Expr[EntryMessage] = {
- import c.universe._
- val isEnabled = Apply(
- Select(Select(c.prefix.tree, TermName("delegate")), TermName("isEnabled")),
- List(
- reify(Level.TRACE).tree,
- reify(AbstractLogger.ENTRY_MARKER).tree,
- reify(null: AnyRef).tree,
- reify(null).tree
- )
- )
-
- val log = Apply(
- Select(Select(c.prefix.tree, TermName("delegate")), TermName("traceEntry")),
- reify(null: String).tree :: (params map (_.tree)).toList
- )
- c.Expr[EntryMessage](If(isEnabled, log, reify(null).tree))
- }
-
-
- def traceEntryMessage(c: LoggerContext)(message: c.Expr[Message]): c.Expr[EntryMessage] =
- c.universe.reify(
- if (c.prefix.splice.delegate.isEnabled(Level.TRACE, AbstractLogger.ENTRY_MARKER, null: AnyRef, null)) {
- c.prefix.splice.delegate.traceEntry(message.splice) // TODO should not do ifEnabled check
- } else {
- null
- }
- )
-
- def traceExit(c: LoggerContext)(): c.Expr[Unit] =
- c.universe.reify(
- c.prefix.splice.delegate.traceExit()
- )
-
- def traceExitResult[R: c.WeakTypeTag](c: LoggerContext)(result: c.Expr[R]): c.Expr[R] =
- c.universe.reify(
- c.prefix.splice.delegate.traceExit(result.splice)
- )
-
- def traceExitEntryMessage(c: LoggerContext)(entryMessage: c.Expr[EntryMessage]): c.Expr[Unit] =
- c.universe.reify(
- c.prefix.splice.delegate.traceExit(entryMessage.splice)
- )
-
- def traceExitEntryMessageResult[R: c.WeakTypeTag](c: LoggerContext)(entryMessage: c.Expr[EntryMessage], result: c.Expr[R]): c.Expr[R] =
- c.universe.reify(
- c.prefix.splice.delegate.traceExit(entryMessage.splice, result.splice)
- )
-
- def traceExitMessageResult[R: c.WeakTypeTag](c: LoggerContext)(message: c.Expr[Message], result: c.Expr[R]): c.Expr[R] =
- c.universe.reify(
- {
- if (message.splice != null && c.prefix.splice.delegate.isEnabled(Level.TRACE, AbstractLogger.EXIT_MARKER, message.splice, null)) {
- c.prefix.splice.delegate.traceExit(message.splice, result.splice) // TODO should not do ifEnabled check
- }
- result.splice
- }
- )
-
- def throwing[T <: Throwable: c.WeakTypeTag](c: LoggerContext)(t: c.Expr[T]): c.Expr[T] =
- c.universe.reify(
- c.prefix.splice.delegate.throwing(t.splice)
- )
-
- def throwingLevel[T <: Throwable: c.WeakTypeTag](c: LoggerContext)(level: c.Expr[Level], t: c.Expr[T]): c.Expr[T] =
- c.universe.reify(
- c.prefix.splice.delegate.throwing(level.splice, t.splice)
- )
-
- def catching(c: LoggerContext)(t: c.Expr[Throwable]): c.Expr[Unit] =
- c.universe.reify(
- c.prefix.splice.delegate.catching(t.splice)
- )
-
- def catchingLevel(c: LoggerContext)(level: c.Expr[Level], t: c.Expr[Throwable]): c.Expr[Unit] =
- c.universe.reify(
- c.prefix.splice.delegate.catching(level.splice, t.splice)
- )
-
-}