Log4j是一种方便的日志记录工具包,平时做简单的验证性测试时,不希望使用System.out.println,同时又不希望在每个java文件中手动引入Log4j等重复工作,可以使用一种对Log4j的静态封装,代码中直接使用静态方法向控制台输出信息。其中使用StackTrace获取调用方法信息。
public class CU {
private static Log log;
static {
//BasicConfigurator.configure();
Logger root = Logger.getRootLogger();
root.addAppender(new ConsoleAppender(
new PatternLayout(PatternLayout.DEFAULT_CONVERSION_PATTERN)));
log = LogFactory.getLog(CU.class);
}
private static StringBuilder callerInfo(){
StringBuilder builder = new StringBuilder("[")
.append(
new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS")
.format(new Timestamp(System.currentTimeMillis())));
StackTraceElement elem = new RuntimeException().getStackTrace()[2];
builder
.append(" ")
.append(elem.getClassName())
.append(".")
.append(elem.getMethodName())
.append("] ");
return builder;
}
public static void debug(Object arg0) {
log.debug(callerInfo().insert(0, "[DEBUG]").append(arg0));
}
public static void info(Object arg0) {
log.info(callerInfo().insert(0, "[INFO]").append(arg0));
}
public static void warn(Object arg0) {
log.warn(callerInfo().insert(0, "[WARN]").append(arg0));
}
public static void error(Object arg0) {
log.debug(callerInfo().insert(0, "[ERROR]").append(arg0));
}
}
分享到:
相关推荐
`,这样`System.out.println()`调用就会被Log4j捕获并按照我们配置的方式记录。 当然,这只是基本的实现方式,实际应用中可能需要考虑更多细节,比如错误流的处理(`System.err.println()`)、多线程环境下的同步...
Java 中 System.out.println() 和 System.out.write() 的区别 System.out.println() 和 System.out.write() 是 Java 中的两个基本输出函数,它们都可以用来将数据输出到控制台中,但是它们之间存在着一些重要的区别...
统一管理日志打印与通过System.out.println();打印
package day2;... System.out.println("请您输入你要倒排的数据和这个数据的位数 : "); Scanner sca=new Scanner(System.in); long nu=sca.nextInt(); long mm=sca.nextInt(); niXuShuChu(nu,mm);
然而,有时用户在使用Idea时可能会遇到一些小问题,例如输入"sout"无法自动补全为"System.out.println()"。本文将详细介绍这个问题及其解决方案。 首先,这个问题通常是由于Idea的默认设置导致的。Idea的自动补全...
6. **日志框架**:在实际的Java Web应用中,通常会使用Log4j、SLF4J等日志框架代替`System.out.println()`,因为它们提供更灵活的日志配置和输出控制。检查是否正确配置了日志框架,避免输出问题。 7. **Tomcat配置...
当我们看到# System.out.println()这行代码的时候,我相信很多人都会回答,这有什么好聊的?不就是一条打印语句吗? 那我问你一句,你如何理解System.out.println() 我相信大多数朋友都回答不出来他到底是个什么...
#### 四、Log4j使用方法 ##### 4.1 properties配置文件详解 `log4j.properties`文件是Log4j中最常见的配置文件类型。配置项包括但不限于: - **rootLogger**:设置全局日志级别及默认的输出目的地。 - **Appender...
System.out.println无法打印全部字符串
System.out.println("4. 查询教师"); System.out.println("5. 添加学生"); System.out.println("6. 查询学生"); System.out.println("7. 添加课程"); System.out.println("8. 查询课程"); System.out.println("9. ...
System.out.println("where 显示当前在什么地方") System.out.println("list 列出当前位置的物品") System.out.println("list allspots 列出大厦内所有地点") System.out.println("list spots 列出当前位置...
Java中的`System.out.println()`是一个常用的方法,用于在控制台上打印信息。然而,当你尝试输出特定数据类型如`byte[]`或`char[]`时,它不会像预期那样直接显示数组的内容,而是输出一些看似随机的字符序列。这是...
System.out.println("................log4j start"); if (file != null) { PropertyConfigurator.configure(prefix + file); } } } ``` ##### 3. 配置 log4j.properties 文件 `log4j.properties` 文件位于...
package day0101; public class Test5 { public static void main(String[] args) { System.out.println(3/2); System.out.println(3d/2); System.out.println("-... System.out.println(Math.sqrt(-4)); } }
3. **修改代码**:使用 Log4j 提供的 API 替换原有的 `System.out.println` 或 `System.err.println` 方法。 #### 六、总结 通过上述示例可以看出,在没有使用 Log4j 时,日志记录主要依赖于 `System.out.println`...
System.out.println(i+"+"+j+"="+c.add()); System.out.println(i+"-"+j+"="+c.dec()); System.out.println(i+"*"+j+"="+c.mul()); System.out.println(i+"/"+j+"="+c.div()); Scanner str=new Scanner(System....
"================="); System.out.println(" 中国移动 ");... System.out.println(" 4.删除 "); System.out.println(" 5.版权 "); System.out.println(" 6.退出 "); System.out.println("=================
log4j.appender.Console.Target=System.out log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n # 可以添加更多...
相比于直接使用`System.out.println()`,Log4j 提供了更高级的功能,如输出级别控制、输出目的地的定制、格式化输出以及过滤特定日志信息等。 Log4j 的核心组件包括Appender、Layout和Logger。Appender定义了日志...