Grizzled SLF4j 是对最为流行的Java日志框架 slf4j 的包装,方便 sfl4j 在 scala 中使用。
使用简介
Grizzled SLF4J 使用 Scala 的 call by name 功能,简化了SLF4J 的调用。
获取 Logger
grizzled-slf4j 获取 Logger 的方式和 slf4j 的规则基本完全一致。
- 使用类的路径
import grizzled.slf4j.Logger
class Foo {
val logger = Logger("org.example.foo")
}
- 使用类
import grizzled.slf4j.Logger
class Foo {
val logger = Logger(classOf[Foo])
}
- 使用类型
import grizzled.slf4j.Logger
class Foo {
val logger = Logger[this.type] // or Logger[Foo]
}
Logger 方法
def debug(msg => Any, t: => Throwable): Unit
def debug(msg => Any, t: => Throwable): Unit
def isDebugEnabled: Boolean
error(msg => Any, t: => Throwable)
error(msg => Any, t: => Throwable)
def isErrorEnabled: Boolean
info(msg => Any, t: => Throwable)
info(msg => Any, t: => Throwable)
def isInfoEnabled: Boolean
trace(msg => Any, t: => Throwable)
trace(msg => Any, t: => Throwable)
def isTraceEnabled: Boolean
warn(msg => Any, t: => Throwable)
warn(msg => Any, t: => Throwable)
def isWarnEnabled: Boolean
结合 Trait 使用
grizzled-slf4j 提供的 Logging trait可以混入类中,该 trait 自动添加如下的内容到类中:
- logging methods (debug, info, error 等)
- lazily 实例化的 Logger 对象
- logger 属性,包含 Logger 对象
class Foo extends Logging {
def test: Unit =
info("test")
}
扩展 trait 很方便,所以使用 Logging很方便,推荐这种使用方式。
使用Maven 安装
<dependency>
<groupId>org.clapper</groupId>
<artifactId>grizzled-slf4j_2.11</artifactId>
<version>1.3.0</version>
</dependency>
额外信息
Grizzled-SLF4j 主页
http://software.clapper.org/grizzled-slf4j/
Github 源码地址
https://github.com/bmc/grizzled-slf4j