介绍下比较常用的日志记录工具,LOG4J就不用介绍了.最好详细点

解决方案 »

  1.   

    Limpid Log Limpid Log是一个比较新颖的日志系统。你不必硬编码任何日志控制语句,只需在运行期注册你感兴趣的类,Limpid Log系统就能够记录关于该类运行时的所有重要信息。LimpidLog提供一个Swing管理器用于动态注册和注销你的应用程序。所有记录的日志数据可以提供给LimpidDebugger作为源码级调试。LimpidDebugger是独立于Limpid Log存在的一个GUI调试器。此外LimpidLog还可以作为Netbeans插件使用。
    log4j2me是用于J2ME 平台上的log4j。当把你的代码移到J2SE/J2EE平台上时,不需要对代码进行改变,只需把log4j2me.jar替换掉log4j jar文件。与log4j所不同的是不能在j2me环境中使用log4j.properties文件来配置log4j,但可以从 JAD文件读取配置。还有其它在J2ME平台中的不同之处,log4j2me都提供了相应的解决方案。
      

  2.   

    http://www.blogjava.net/senlin-blog/archive/2007/05/24/119551.html
      

  3.   

    jdk 自带的log 也挺好用的 java/util/logging/最好用 common-logging 他会自动使用合适的log 工具
      

  4.   

    原文出处
    http://blog.csdn.net/javaxl/archive/2004/10/15/137328.aspx你可以在不安装的前提下使用日志包。其中最简单的方法就是建立一个Java.util.logging.Logger的实例。一旦建立好这个实例,你就可以开始记录了。下面是一个记录类的完整例子:package tips;import java.util.logging.Logger;public class LogTip {
        // create an instance of the Logger class
        private static Logger log = Logger.getLogger("tips.LogTip");    public static void main(String args[]) {
            log.finest("the finest message");
            log.finer("finer message");
            log.fine("a fine message");
            log.config("some configuration message");
            log.info("a little bit of information");
            log.warning("a warning message");
            log.severe("a severe message");
        }
    } 你在编译运行这个类的时候,你的控制台中就会有以下的输出显示:Apr 1, 2003 11:09:05 PM tips.LogTip main
    INFO: a little bit of information
    Apr 1, 2003 11:09:05 PM tips.LogTip main
    WARNING: a warning message
    Apr 1, 2003 11:09:05 PM tips.LogTip main
    SEVERE: a severe message并不是所有的记录项都会显示在控制台中,这是因为Java的日志包应用了日志级别别。日志级别允许你控制记录输出。在开发过程中,你希望得到大量的调试信息,从而你可以了解你的应用程序将会出现什么问题。但作为产品,你就不希望他输出调试结果并且不出错。你也可以通过使用日志包中的日志级别别来控制。在Java.util.logging.Level这个类中定义了7种日志级别别,他们分别是:SEVERE,WARNING, INFO,CONFIG,FINE, FINER和FINEST。其中SEVERE即用于处理错误以及灾难事件。而FINE,FINER和FINEST级是用于处理一些不那么重要的信息,以及用于程序调试。另外,你可以将日志级别别设定为ALL或者OFF来设定它的极值。当你将其设定为ALL的时候,所有的记录项都为开放的,相反,当你设定为OFF的时候,所有的记录项都为禁止的。由于日志级别别是分层次的,当你将其定义为某一级别后,就只有此级别或是更高级别的能被记录。在七种级别中SEVERE是最高级别,FINEST是最低级别。默认级别是INFO;这就是我们在上面代码段中只看到三个记录信息的原因。如果想看到所有的记录信息的话,我们就要改变一下设置。有很多方法来改变默认设置,比如用工具文件,对运行时间编程或是提出你自己的结构类。如果你通过工具选项来设置记录的话,你有两种选择,一是你可以用默认的道具文件(这种方法不推荐)——%YOUR_JRE_PATH%/lib/logging.properties;还有就是你可以通过设定系统文件java.util.logging.config.file,将其指定到你需要使用的文件名来自己设置道具文件,方法如下:java -Djava.util.logging.config.file=log.properties tips.LogTip。这样的话不能从log.properties文件中度出任何地记录工具,在这个例子中,这是默认的logging.properties文件的改版,具体如下:handlers= java.util.logging.ConsoleHandler
       .level=FINEST
       java.util.logging.ConsoleHandler.level = FINEST
        java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter 当运行这个类的时候,就会有以下的输出显示:Apr 1, 2003 11:12:00 PM tips.LogTip main
    FINEST: the finest message
    Apr 1, 2003 11:12:00 PM tips.LogTip main
    FINER: finer message
    Apr 1, 2003 11:12:00 PM tips.LogTip main
    FINE: a fine message
    Apr 1, 2003 11:12:00 PM tips.LogTip main
    CONFIG: some configuration message
    Apr 1, 2003 11:12:00 PM tips.LogTip main
    INFO: a little bit of information
    Apr 1, 2003 11:12:00 PM tips.LogTip main
    WARNING: a warning message
    Apr 1, 2003 11:12:00 PM tips.LogTip main
    SEVERE: a severe message 在实际应用中,你需要对记录尽可能多的控制。你学要将某些记录定义为FINEST,某些类记录为SEVERE或是其他级别。你也可能需要记录一些关于控制台的信息,或是一些关于文件的信息,甚至有时是关于数据库的信息。
      

  5.   

    Log4j基本使用方法  Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。  一、定义配置文件  其实您也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您的应用程序更加灵活。Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值)。下面我们介绍使用Java特性文件做为配置文件的方法:  1.配置根Logger,其语法为:  log4j.rootLogger = [ level ] , appenderName, appenderName, …  其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。 appenderName就是指B日志信息输出到哪个地方。您可以同时指定多个输出目的地。  2.配置日志信息输出目的地Appender,其语法为:  log4j.appender.appenderName = fully.qualified.name.of.appender.class
      log4j.appender.appenderName.option1 = value1
      …
      log4j.appender.appenderName.option = valueN  其中,Log4j提供的appender有以下几种:
      org.apache.log4j.ConsoleAppender(控制台),
      org.apache.log4j.FileAppender(文件),
      org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
      org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
      org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)  3.配置日志信息的格式(布局),其语法为:  log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
      log4j.appender.appenderName.layout.option1 = value1
      …
      log4j.appender.appenderName.layout.option = valueN  其中,Log4j提供的layout有以e几种:
      org.apache.log4j.HTMLLayout(以HTML表格形式布局),
      org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
      org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
      org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)  Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下: %m 输出代码中指定的消息  %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
      %r 输出自应用启动到输出该log信息耗费的毫秒数
      %c 输出所属的类目,通常就是所在类的全名
      %t 输出产生该日志事件的线程名
      %n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
      %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
      %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)  二、在代码中使用Log4j  1.得到记录器  使用Log4j,第一步就是获取日志记录器,这个记录器将负责控制日志信息。其语法为:  public static Logger getLogger( String name)  通过指定的名字获得记录器,如果必要的话,则为这个名字创建一个新的记录器。Name一般取本类的名字,比如:  static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () )  2.读取配置文件  当获得了日志记录器之后,第二步将配置Log4j环境,其语法为:  BasicConfigurator.configure (): 自动快速地使用缺省Log4j环境。
      PropertyConfigurator.configure ( String configFilename) :读取使用Java的特性文件编写的配置文件。
      DOMConfigurator.configure ( String filename ) :读取XML形式的配置文件。  3.插入记录信息(格式化日志信息)  当上两个必要步骤执行完毕,您就可以轻松地使用不同优先级别的日志记录语句插入到您想记录日志的任何地方,其语法如下:  Logger.debug ( Object message ) ;
      Logger.info ( Object message ) ;
      Logger.warn ( Object message ) ;
      Logger.error ( Object message ) ;