grizzled-slf4j 简介

来源:互联网 发布:走步软件哪个好 编辑:程序博客网 时间:2024/06/05 09:30

Grizzled SLF4j 是对最为流行的Java日志框架 slf4j 的包装,方便 sfl4j 在 scala 中使用。


使用简介

Grizzled SLF4J 使用 Scala 的 call by name 功能,简化了SLF4J 的调用。

获取 Logger

grizzled-slf4j 获取 Logger 的方式和 slf4j 的规则基本完全一致。

  • 使用类的路径
import grizzled.slf4j.Loggerclass Foo {  val logger = Logger("org.example.foo")}
  • 使用类
import grizzled.slf4j.Loggerclass Foo {  val logger = Logger(classOf[Foo])}
  • 使用类型
import grizzled.slf4j.Loggerclass Foo {  val logger = Logger[this.type] // or Logger[Foo]}

Logger 方法

def debug(msg => Any, t: => Throwable): Unitdef debug(msg => Any, t: => Throwable): Unitdef isDebugEnabled: Booleanerror(msg => Any, t: => Throwable)error(msg => Any, t: => Throwable)def isErrorEnabled: Booleaninfo(msg => Any, t: => Throwable)info(msg => Any, t: => Throwable)def isInfoEnabled: Booleantrace(msg => Any, t: => Throwable)trace(msg => Any, t: => Throwable)def isTraceEnabled: Booleanwarn(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


0 0