返回顶部

收藏

在日志中打印当前代码位置,类似log4j

更多

打印日志时大家都想能输出行号,最简单的方法是用log4j,但某些情况下不想引入庞大的log4j,怎么办呢?这是一个轻量级实现!!

//这是api,完全参照log4j
public class Logger {

    private Class clazz;

    public static int level = 1;
    public static final int DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3;

    public static Logger getLog(Class clazz) {
        return new Logger(clazz);
    }

    public Logger(Class clazz) {
        this.clazz = clazz;
    }

    public void debug(Object msg) {
        if (level > DEBUG)
            return;
        LogLocation logLocation = new LogLocation(new Throwable(), Logger.class.getName());
        System.out.println(logLocation.getFileName() + " [" + logLocation.getLineNumber() + "] [调试] -->> " + msg);
    }

    public void warn(Object msg) {
        if (level > WARN)
            return;
        LogLocation logLocation = new LogLocation(new Throwable(), Logger.class.getName());
        System.out.println(logLocation.getFileName() + " [" + logLocation.getLineNumber() + "] [警告] -->> " + msg);
    }

    public void error(Object msg) {
        if (level > ERROR)
            return;
        LogLocation logLocation = new LogLocation(new Throwable(), Logger.class.getName());
        System.out.println(logLocation.getFileName() + " [" + logLocation.getLineNumber() + "] [错误] -->> " + msg);
    }

    public void info(Object msg) {
        if (level > INFO)
            return;
        LogLocation logLocation = new LogLocation(new Throwable(), Logger.class.getName());
        System.out.println(logLocation.getFileName() + " [" + logLocation.getLineNumber() + "] [信息] -->> " + msg);
    }

}
//该片段来自于http://outofmemory.cn

标签:java,基础

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 糖果 发表 2015-08-03 20:25:16 逆向基础(十三) JAVA (三)
  2. 博主 发表 2013-03-12 14:17:00 Java基础学习之Enum
  3. Terry Zhang 发表 2014-04-18 05:19:53 [NIO.2] 编写一个文件移动应用
  4. Terry Zhang 发表 2014-05-13 06:28:25 [集合框架] SortedMap 接口
  5. 逍遥冲 发表 2014-02-16 15:32:11 Java8新特性Date和Time
  6. root 发表 2015-04-26 02:40:02 Java 基础:认识&理解关键字 native 实战篇
  7. 博主 发表 2013-03-22 16:26:00 Java基础知识之泛型
  8. Terry Zhang 发表 2014-05-04 12:29:21 [集合框架] Queue 接口
  9. 博主 发表 2013-03-27 17:01:00 Java基础知识之Annotation
  10. Terry Zhang 发表 2014-04-20 15:36:04 [正则] 预定义字符类型
  11. 博主 发表 2017-04-04 08:28:15 Java注解的基础与高级应用
  12. Terry Zhang 发表 2014-05-03 06:47:05 [集合框架] Deque 接口