diff options
author | vlad <vlad@drivergrp.com> | 2016-07-15 19:41:26 -0400 |
---|---|---|
committer | vlad <vlad@drivergrp.com> | 2016-07-15 19:41:26 -0400 |
commit | c0d574dc6134e4f406875ea5a1301ba46602a6ec (patch) | |
tree | 606a56d184bd8c4d67f98b5aa3fafa3640a8190f /src/main/scala/com/drivergrp/core/logging.scala | |
download | driver-core-c0d574dc6134e4f406875ea5a1301ba46602a6ec.tar.gz driver-core-c0d574dc6134e4f406875ea5a1301ba46602a6ec.tar.bz2 driver-core-c0d574dc6134e4f406875ea5a1301ba46602a6ec.zip |
Initial commit with standard lib, might be used a example of cake
Diffstat (limited to 'src/main/scala/com/drivergrp/core/logging.scala')
-rw-r--r-- | src/main/scala/com/drivergrp/core/logging.scala | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/src/main/scala/com/drivergrp/core/logging.scala b/src/main/scala/com/drivergrp/core/logging.scala new file mode 100644 index 0000000..35f3a1b --- /dev/null +++ b/src/main/scala/com/drivergrp/core/logging.scala @@ -0,0 +1,132 @@ +package com.drivergrp.core + +import com.typesafe.scalalogging.{LazyLogging, StrictLogging} +import org.slf4j.Marker + + +object logging { + + trait LoggerModule { + + def log: Logger + } + + trait NopLoggerModule extends LoggerModule { + + def log: Logger = new NopLogger() + } + + /** + * Defines `logger` as a lazy value initialized with an underlying `org.slf4j.Logger` + * named according to the class into which this trait is mixed. + */ + trait LazyLoggerModule extends LoggerModule { + this: LazyLogging => + + override val log: Logger = new TypesafeScalaLogger(logger) + } + + /** + * Defines `logger` as a value initialized with an underlying `org.slf4j.Logger` + * named according to the class into which this trait is mixed. + */ + trait StrictLoggerModule extends LoggerModule { + this: StrictLogging => + + override val log: Logger = new TypesafeScalaLogger(logger) + } + + + trait Logger { + + def fatal(message: String): Unit + def fatal(message: String, cause: Throwable): Unit + def fatal(message: String, args: AnyRef*): Unit + def fatal(marker: Marker, message: String): Unit + def fatal(marker: Marker, message: String, cause: Throwable): Unit + def fatal(marker: Marker, message: String, args: AnyRef*): Unit + + def error(message: String): Unit + def error(message: String, cause: Throwable): Unit + def error(message: String, args: AnyRef*): Unit + def error(marker: Marker, message: String): Unit + def error(marker: Marker, message: String, cause: Throwable): Unit + def error(marker: Marker, message: String, args: AnyRef*): Unit + + def audit(message: String): Unit + def audit(message: String, cause: Throwable): Unit + def audit(message: String, args: AnyRef*): Unit + def audit(marker: Marker, message: String): Unit + def audit(marker: Marker, message: String, cause: Throwable): Unit + def audit(marker: Marker, message: String, args: AnyRef*): Unit + + def debug(message: String): Unit + def debug(message: String, cause: Throwable): Unit + def debug(message: String, args: AnyRef*): Unit + def debug(marker: Marker, message: String): Unit + def debug(marker: Marker, message: String, cause: Throwable): Unit + def debug(marker: Marker, message: String, args: AnyRef*): Unit + } + + class TypesafeScalaLogger(scalaLogging: com.typesafe.scalalogging.Logger) extends Logger { + + def fatal(message: String): Unit = scalaLogging.error(message) + def fatal(message: String, cause: Throwable): Unit = scalaLogging.error(message, cause) + def fatal(message: String, args: AnyRef*): Unit = scalaLogging.error(message, args) + def fatal(marker: Marker, message: String): Unit = scalaLogging.error(marker, message) + def fatal(marker: Marker, message: String, cause: Throwable): Unit = scalaLogging.error(marker, message, cause) + def fatal(marker: Marker, message: String, args: AnyRef*): Unit = scalaLogging.error(marker, message, args) + + def error(message: String): Unit = scalaLogging.warn(message) + def error(message: String, cause: Throwable): Unit = scalaLogging.warn(message, cause) + def error(message: String, args: AnyRef*): Unit = scalaLogging.warn(message, args) + def error(marker: Marker, message: String): Unit = scalaLogging.warn(marker, message) + def error(marker: Marker, message: String, cause: Throwable): Unit = scalaLogging.warn(marker, message, cause) + def error(marker: Marker, message: String, args: AnyRef*): Unit = scalaLogging.warn(marker, message, args) + + def audit(message: String): Unit = scalaLogging.info(message) + def audit(message: String, cause: Throwable): Unit = scalaLogging.info(message, cause) + def audit(message: String, args: AnyRef*): Unit = scalaLogging.info(message, args) + def audit(marker: Marker, message: String): Unit = scalaLogging.info(marker, message) + def audit(marker: Marker, message: String, cause: Throwable): Unit = scalaLogging.info(marker, message, cause) + def audit(marker: Marker, message: String, args: AnyRef*): Unit = scalaLogging.info(marker, message, args) + + def debug(message: String): Unit = scalaLogging.debug(message) + def debug(message: String, cause: Throwable): Unit = scalaLogging.debug(message, cause) + def debug(message: String, args: AnyRef*): Unit = scalaLogging.debug(message, args) + def debug(marker: Marker, message: String): Unit = scalaLogging.debug(marker, message) + def debug(marker: Marker, message: String, cause: Throwable): Unit = scalaLogging.debug(marker, message, cause) + def debug(marker: Marker, message: String, args: AnyRef*): Unit = scalaLogging.debug(marker, message, args) + } + + class NopLogger() extends Logger { + + def fatal(message: String): Unit = {} + def fatal(message: String, cause: Throwable): Unit = {} + def fatal(message: String, args: AnyRef*): Unit = {} + def fatal(marker: Marker, message: String): Unit = {} + def fatal(marker: Marker, message: String, cause: Throwable): Unit = {} + def fatal(marker: Marker, message: String, args: AnyRef*): Unit = {} + + def error(message: String): Unit = {} + def error(message: String, cause: Throwable): Unit = {} + def error(message: String, args: AnyRef*): Unit = {} + def error(marker: Marker, message: String): Unit = {} + def error(marker: Marker, message: String, cause: Throwable): Unit = {} + def error(marker: Marker, message: String, args: AnyRef*): Unit = {} + + def audit(message: String): Unit = {} + def audit(message: String, cause: Throwable): Unit = {} + def audit(message: String, args: AnyRef*): Unit = {} + def audit(marker: Marker, message: String): Unit = {} + def audit(marker: Marker, message: String, cause: Throwable): Unit = {} + def audit(marker: Marker, message: String, args: AnyRef*): Unit = {} + + def debug(message: String): Unit = {} + def debug(message: String, cause: Throwable): Unit = {} + def debug(message: String, args: AnyRef*): Unit = {} + def debug(marker: Marker, message: String): Unit = {} + def debug(marker: Marker, message: String, cause: Throwable): Unit = {} + def debug(marker: Marker, message: String, args: AnyRef*): Unit = {} + } +} |