在日志中打印当前代码位置,类似log4j,当前log4j,打印日志时大家都想能输出
分享于 点击 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
用户点评