One file simple logging utility. Fledged console logging without dependency.
Just copy file content, add your package name and private modifier, you're good to go.
class MyClass extends SimpleLogging{
trace(...)
debug(...)
info(...) //default logging level.
warn(...)
error(...)
}
- override loggerLevel
class MyClass extends SimpleLogging{
override val loggerLevel = SimpleLogging.Trace
}
- provide property file:
simple-logger.properties
inresources
dir.
com.github.cuzfrog.scmd = info
com.github.cuzfrog.scmd.runtime = debug
com.github.cuzfrog.scmd.runtime.SomeObject$ = trace
class MyClass extends SimpleLogging{
override lazy val loggerAgent = classOf[WhatEver].getName
}
A scalameta annotation is shipped for control single AOP method:
@IgnoreLogging
abstract override def addValidation[T](name: String, func: (T) => Unit): Unit = {
debug(s"Add validation for arg:$name, func:$func")
super.addValidation(name, func)
}
Aop Code example: portal
@IgnoreLogging
depends on ScalaMeta at compile time.