二、日志工具类

2. 日志工具类

在使用 log4j 等日志工具的时候,我们需要再类的头部定义一个:

  1. private final Logger logger = Logger.getLogger(SendMsgStartup.class);

如上的定义,你是不是很烦.还有那复杂的配置文件,每次都要纠结好一阵子.那么就使用这个简单的工具类吧.下面来介绍一下这个简单的配置文件

  • 1.无须在类的头部定义 private 的私有 loger 变量.直接使用 Logger 静态类,方便快捷。
  • 2.配置文件极其简单,仅有日志的级别,输入流定义,模板定义,日志缩进定义等简单的几种,满足常规使用。

2.1 日志配置文件

  1. #日志输出类型 使用FILE,STDOUT,STDERR等输出特定级别的日志,","分割
  2. #Value: FILE,STDOUT,STDERR, more then one use "," split
  3. LogType=STDOUT
  4. #日志输出文件,在日志输出类型为 FILE 时会输出到这个文件
  5. LogFile=/Users/helyho/Work/Java/MyPlatform/sysout.log
  6. InfoIndent={{s}}
  7. #输出日志级别定义,如果使用 ALL 则输出全部类型的日志,使用SIMPLE,INFO,DEBUG,WARN,ERROR,FALAT等输出特定级别的日志,","分割
  8. #Value: ALL,SIMPLE,INFO,DEBUG,WARN,ERROR,FALAT, more then one use "," split
  9. LogLevel = ALL
  10. #日志模板
  11. LogTemplate=--------------------------------------------------------------------------------------------------------------------------------------------------{{n}}[{{p}}] [{{d}}] [Thread:{{t}}] [Time:{{r}}] ({{f}}:{{l}}) {{n}}--------------------------------------------------------------------------------------------------------------------------------------------------{{n}}{{i}}{{n}}{{n}}

配置文件指代符号说明:指代符号定义{{}}

  1. *{{s}}: 一个空格
  2. *{{t}}: 制表符
  3. *{{n}}: 换行
  4. *{{I}}: 消息内容,即要展示的日志内容
  5. *{{F}}: 源码文件名
  6. *{{SI}}: 栈信息输出
  7. *{{L}}: 当前代码的行号
  8. *{{M}}: 当前代码的方法名
  9. *{{C}}: 当前代码的类名称
  10. *{{T}}: 当前线程名
  11. *{{D}}: 当前系统时间
  12. *{{R}}: 从启动到当前代码执行的事件

2.2 日志类使用

  1. public static void debug(Object msg)
  2. public static void debug(Object msg, Object ... args)
  3. public static void info(Object msg)
  4. public static void info(Object msg, Object ... args)
  5. public static void warn(Object msg)
  6. public static void warn(Object msg, Object ... args)
  7. public static void warn(Exception e)
  8. public static void warn(Object msg,Exception e)
  9. public static void warn(Object msg,Exception e, Object ... args)
  10. public static void error(Object msg)
  11. public static void error(Object msg, Object ... args)
  12. public static void error(Exception e)
  13. public static void error(Object msg,Exception e)
  14. public static void error(Object msg,Exception e, Object ... args)
  15. public static void fatal(Object msg)
  16. public static void fatal(Exception e)
  17. public static void fatal(Object msg,Exception e)
  18. public static void fatal(Object msg,Exception e, Object ... args)
  19. public static void simple(Object msg)
  20. public static void simple(Object msg, Object ... args)
  • 输入日志信息
  • msg: 日志消息,这里调用对象的 toString()方法输出特定日志。

`使用不定参数的形式,所有绑定参数的数据会按照 String 的形式同 msg 进行 + 的连接操作;

注意:Simple 输出方法不会使用日志模板,而是直接输出日志对象


2.3使用举例:

  1. Logger.info("this is log message.");