您的位置:首页 > 编程语言

72.scala编程思想笔记——记日志

2016-01-04 22:06 162 查看
72.scala编程思想笔记——记日志
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50458776

源码下载连接请见第一篇笔记。

记日志就是指记录这些事件,使得应用的程序员和管理员得到另一种发现问题的工具。

         可以采用Java内建的日志记录机制。例如:

package com.atomicscala

import java.util.logging._

 

trait Logging {

  val log =Logger.getLogger(".")

 log.setUseParentHandlers(false)

 log.addHandler(

    newFileHandler("AtomicLog.txt"))

 log.addHandler(new ConsoleHandler)

 log.setLevel(Level.ALL)

 log.getHandlers.foreach(

   _.setLevel(Level.ALL))

  deferror(msg:String) = log.severe(msg)

  defwarn(msg:String) = log.warning(msg)

  definfo(msg:String) = log.info(msg)

  defdebug(msg:String) = log.fine(msg)

  deftrace(msg:String) = log.finer(msg)

}

JAVA的日志记录包中包含记录器,可以向其写入消息,还包含处理器,可以将消息记录到它们各自的介质中。

可以将日志记录级别设置为 Level.ALL,以便展示所有消息,其他级别会展示更少的消息。

         使用上述代码的库,如下:

import com.atomicscala.Logging

 

class LoggingTest extends Logging {

 info("Constructing a LoggingTest")

  def f = {

   trace("entering f")

    // ...

   trace("leaving f")

  }

  def g(i:Int)= {

   debug(s"inside g with i: $i")

    if(i <0)

     error("i less than 0")

    if(i >100)

     warn(s"i getting high: $i")

  }

}

 

val lt = new LoggingTest

lt.f

lt.g(0)

lt.g(-1)

lt.g(101)

运行程序后,查看AtomicLog.txt文件。

日志文件通过XML书写,目的是易于处理和组装。

 

 

 

 

 

 

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: