欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

在日志中打印当前代码位置,类似log4j,当前log4j,打印日志时大家都想能输出

来源: javaer 分享于  点击 39046 次 点评:183

在日志中打印当前代码位置,类似log4j,当前log4j,打印日志时大家都想能输出


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

//这是api,完全参照log4jpublic 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://byrx.net
相关栏目:

用户点评