`
xerobuffer
  • 浏览: 4036 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

简易Log4j配置代替System.out.println

阅读更多
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));
	}
}
分享到:
评论

相关推荐

    Log4j将System.out搞到log4j中输出四

    `,这样`System.out.println()`调用就会被Log4j捕获并按照我们配置的方式记录。 当然,这只是基本的实现方式,实际应用中可能需要考虑更多细节,比如错误流的处理(`System.err.println()`)、多线程环境下的同步...

    java 中 System.out.println()和System.out.write()的区别

    Java 中 System.out.println() 和 System.out.write() 的区别 System.out.println() 和 System.out.write() 是 Java 中的两个基本输出函数,它们都可以用来将数据输出到控制台中,但是它们之间存在着一些重要的区别...

    日志管理,避免程序中到处是System.out.println();

    统一管理日志打印与通过System.out.println();打印

    倒排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时可能会遇到一些小问题,例如输入"sout"无法自动补全为"System.out.println()"。本文将详细介绍这个问题及其解决方案。 首先,这个问题通常是由于Idea的默认设置导致的。Idea的自动补全...

    细聊java中的System.out.println()

    当我们看到# System.out.println()这行代码的时候,我相信很多人都会回答,这有什么好聊的?不就是一条打印语句吗? 那我问你一句,你如何理解System.out.println() 我相信大多数朋友都回答不出来他到底是个什么...

    log4j入门、详解.pdf

    #### 四、Log4j使用方法 ##### 4.1 properties配置文件详解 `log4j.properties`文件是Log4j中最常见的配置文件类型。配置项包括但不限于: - **rootLogger**:设置全局日志级别及默认的输出目的地。 - **Appender...

    tomcat输出输出着就不输出了,什么原因?解决方法是

    6. **日志框架**:在实际的Java Web应用中,通常会使用Log4j、SLF4J等日志框架代替`System.out.println()`,因为它们提供更灵活的日志配置和输出控制。检查是否正确配置了日志框架,避免输出问题。 7. **Tomcat配置...

    Guid.rar_out_游览图

    System.out.println("where 显示当前在什么地方") System.out.println("list 列出当前位置的物品") System.out.println("list allspots 列出大厦内所有地点") System.out.println("list spots 列出当前位置...

    javaSystem.out.println()输出byte[]、char[]异常的问题详析

    Java中的`System.out.println()`是一个常用的方法,用于在控制台上打印信息。然而,当你尝试输出特定数据类型如`byte[]`或`char[]`时,它不会像预期那样直接显示数组的内容,而是输出一些看似随机的字符序列。这是...

    log4j详细配置说明

    System.out.println("................log4j start"); if (file != null) { PropertyConfigurator.configure(prefix + file); } } } ``` ##### 3. 配置 log4j.properties 文件 `log4j.properties` 文件位于...

    java基础(System.err和System.out)详解

    * 如果您使用了日志记录工具,如log4j,System.err的输出结果将被记入日志,而System.out的输出结果则不会。 * 在Eclipse中,System.err的输出结果将以红色显示,而System.out的输出结果将以蓝色显示。 结论 ...

    java基本类型

    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)); } }

    使用Log4j进行日志操作使用Log4j进行日志操作

    3. **修改代码**:使用 Log4j 提供的 API 替换原有的 `System.out.println` 或 `System.err.println` 方法。 #### 六、总结 通过上述示例可以看出,在没有使用 Log4j 时,日志记录主要依赖于 `System.out.println`...

    Log4j日志配置说明,Log4j日志配置说明

    System.out.println("................log4j start"); if (file != null) { PropertyConfigurator.configure(prefix + file); } } } ``` 这里需要注意几点: - 使用 `PropertyConfigurator.configure()` ...

    java简易计算器

    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....

    java通讯录

    "================="); System.out.println(" 中国移动 ");... System.out.println(" 4.删除 "); System.out.println(" 5.版权 "); System.out.println(" 6.退出 "); System.out.println("=================

    log4j的jar包以及配置文件

    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 # 可以添加更多...

    Tomcat输出catalina.out的大小控制

    例如,如果应用使用了Log4j或Logback等日志框架,可以调整配置以只记录错误和警告信息,减少调试和信息级别的输出。 4. **使用第三方日志管理框架** 如果需要更高级的日志管理和分析功能,可以考虑使用如Logstash...

    log4j使用方法及简单配置

    相比于直接使用`System.out.println()`,Log4j 提供了更高级的功能,如输出级别控制、输出目的地的定制、格式化输出以及过滤特定日志信息等。 Log4j 的核心组件包括Appender、Layout和Logger。Appender定义了日志...

Global site tag (gtag.js) - Google Analytics