Guest User

Untitled

a guest
Apr 20th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. import org.apache.log4j._
  2.  
  3. /** Wraps log4j in a trait that not only makes it easy to log things
  4. * but also uses lazy evaluation for log messages -- no need to
  5. * wrap them in an if statement for expensive messages
  6. *
  7. * <pre>
  8. * class Foo extends Logs {
  9. * def doit = {
  10. * debug("This is a " + very.complicated + " log message")
  11. * fatal(someException)
  12. * // etc.
  13. * }
  14. * }
  15. * </pre>
  16. */
  17. trait Logs {
  18. private[this] val logger = Logger.getLogger(getClass().getName());
  19.  
  20. import org.apache.log4j.Level._
  21.  
  22. def debug(message: => String) = if (logger.isEnabledFor(DEBUG)) logger.debug(message)
  23. def debug(message: => String, ex:Throwable) = if (logger.isEnabledFor(DEBUG)) logger.debug(message,ex)
  24.  
  25. def info(message: => String) = if (logger.isEnabledFor(INFO)) logger.info(message)
  26. def info(message: => String, ex:Throwable) = if (logger.isEnabledFor(INFO)) logger.info(message,ex)
  27.  
  28. def warn(message: => String) = if (logger.isEnabledFor(WARN)) logger.warn(message)
  29. def warn(message: => String, ex:Throwable) = if (logger.isEnabledFor(WARN)) logger.warn(message,ex)
  30.  
  31. def error(ex:Throwable) = if (logger.isEnabledFor(ERROR)) logger.error(ex.toString,ex)
  32. def error(message: => String) = if (logger.isEnabledFor(ERROR)) logger.error(message)
  33. def error(message: => String, ex:Throwable) = if (logger.isEnabledFor(ERROR)) logger.error(message,ex)
  34.  
  35. def fatal(ex:Throwable) = if (logger.isEnabledFor(FATAL)) logger.fatal(ex.toString,ex)
  36. def fatal(message: => String) = if (logger.isEnabledFor(FATAL)) logger.fatal(message)
  37. def fatal(message: => String, ex:Throwable) = if (logger.isEnabledFor(FATAL)) logger.fatal(message,ex)
  38. }
Add Comment
Please, Sign In to add comment