目录
了解日志技术·
在我们的程序中,很多时候都需要输出一些东西,控制台会很不方便。所以采用日志技术。
日志有一些日志框架,因为都学的话学习成本高,所以提供了日志接口,使用接口来操作。
日志接口有java自带的Commons Logging(JCL) ,和第三方提供的Simple Logging Facade for java(SLF4J)接口。JUL实现JCL接口,Log4j 和 Logback实现SLF4J接口;
我们在使用使用中,基本可以使用Logback框架,因为他算是最好的吧,不排除有其他的,学到再说
logback的导入:
Logback官网:Logback Home
Logback的使用:
package test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogbackTest {
//一般来讲一个工程只有一个log文件夹,所以定义为通用,静态,以及不可变的
//记住一定要用org.slf4j.Logger下的Logger才行,不然报错,然后通过他的LoggerFactory工厂来获取对象
public static final Logger LOGGER = LoggerFactory.getLogger("LogBackTest");
public static void main(String[] args) {
//使用了日志之后,就可以去XML配置文件的地址上去找对应文件的位置来查看历史的log记录
try {
LOGGER.info("chu方法开始执行了");
chu(10,0);
LOGGER.info("chu方法执行成功");
} catch (Exception e) {
//记录错误时,需要使用error方法
LOGGER.error("chu方法执行失败,出现了bug");
//有了log,就不要输出了
//e.printStackTrace();
}
}
public static void chu(int a , int b){
//一般情况使用debug方法来记录程序的执行流程,debug:调试的意思
LOGGER.debug("参数a:" + a);
LOGGER.debug("参数b:" + b);
int c = a / b;
//使用info方法,记录的是一个比较重要的日志,其实debug也是可以,因为认为结果比较重要,所以使用的info
LOGGER.info("结果是:" + c);
}
}
补充:日志级别的使用场景:当我们只想要看error信息时,我们就可以把<root level="error">设置为它之后,日志中输出的就都是error级别的日志了。