使用 slf4j

Posted sp42a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 slf4j相关的知识,希望对你有一定的参考价值。

实际上我对日志服务的要求不高,大多数情况下能够打印信息就可以了,例如 ActionScript 的 trace(); 这么的基本的函数我就觉得足够了,包括在网页调试中 alert() 大法更是屡试不爽。好了,来到 Java 世界,仍沿用这一思想,所以 sysout 快捷键下生成的 System.out/err.println("xxx"); 也没觉得有什么障碍。但长久以来 sysout 总感觉不妥,尤其运维的兄弟看到你这一堆打印的东东,而他又不是十分明白那是啥就有意见了,可想而知更严重的是,对你的程序的质量也会从心里觉得不太靠谱。于是综上所述,搞一个妥妥的日志系统还是有必要的,可以让随时关掉输出在生产服务器上,或者保存到文件。最开始我的初衷是 java.util.Logger 已经够用,后来渐渐接触一些开源使用了 slf4j 和 apache common logging,而不说 logback 的那些了,开源世界就是丰富多彩啊,单纯一个日志系统都可以搞那么多。再看看 slf4j 及其文档资料,好一个详细,被分解得如此精巧细致。

使用 slf4j,简单的 Hello world:

import com.ajaxjs.framework.model.BaseModel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Catalog extends BaseModel {
	public static void main(String[] args) {
		Logger logger = LoggerFactory.getLogger(Catalog.class);
		logger.info("Hello World");
	}

}

调用 logger.debug("Processing trade with id: {} and symbol : {} ", id, symbol); 等于调用 if (logger.isDebugEnabled()) {     logger.debug("Processing trade with id: " + id + " symbol: " + symbol); },非常方便

以上是关于使用 slf4j的主要内容,如果未能解决你的问题,请参考以下文章

slf4j的使用规范

@Slf4j注解的使用

日志框架之日志门面SLF4J的使用

使用SLF4J和LOGBACK (一 : 基本使用)

为啥要使用SLF4J而不是Log4J

为啥要使用SLF4J而不是Log4J