今天想了解以下Java中的日志框架,毕竟做项目调试光用sout也不行所以就开始了对日志的学习。
日志概述
就我的理解来说,日志就是用来日志文件或控制台打印程序运行过程中的信息,这些信息被我们用来查看程序运行的状况,方便我们的伟华,排错。
日志系统有日志门面和日志主题,什么是日志门面呢?
就是日志框架特别多,我们使用日志门面,就可以用一套API操作各种框架,比如JDBC可以用来操作MySql,还可以操作Oracle.
JUL架构
- Logger:Logger是我们访问日志系统的入口程序,我们要搞日志信息,都要靠实例化出的logger对象
- Handler:处理器,负责将日志做记录,处理器的具体实现,决定了日志记录是写入文件,还是打在控制台,还是网络上其他的日志服务或操作系统
- Formatter:负责对日志中的数据进行转换和格式化,它决定了一条日志记录的最终形式
- Filter:过滤器,可以定制哪些信息被记录,哪些信息放过
简单使用
通过Logger.getLogger获取Logger的实例化对象
Logger logger = Logger.getLogger("com.kk.web01.bean.City");
"com.kk.web01.bean.City" 只是一个类的全类名,之后这个logger打出的日志中间都会出现这个全类名,这个也是我们定位错误的依据。
logger.info("");
logger.log(Level.INFO,"info信息");
这两条语句
@Test
void testLog(){
//获取日志记录对象
Logger logger = Logger.getLogger("com.kk.web01.bean.City");
//日志记录输出
logger.info("第一次用JUL");
//通用方法进行日志记录
//Level是一个枚举类
logger.log(Level.INFO,"info信息");
//通过占位符 方式输出变量值 不需要手动拼接字符串,效率高一点
String name ="余明款";
Integer age = 20;
logger.log(Level.INFO,"用户信息:{0},{1}",new Object[]{name,age});
}