大家好,又见面了,我是你们的朋友全栈君。
近期整理的关于日志的面试题,对于初级者来说,很少会涉及到日志的处理,架构的选择。但是我相信作为一个资深者,这部分是必不可少的,同时也是评定一个系统的指标,足以证明日志的重要性。
1. 常用的日志框架
Java Logging API(Oracle)—— Java默认的日志框架
Log4j(Apache)——开源日志框架
Logback(Logback Project)——开源项目,被设计成Log4j版本1的后续版本
tinylog(tinylog)——轻量级开源logger
2. Systom.out 为什么很少用于日志记录
根据人们的习惯,总是喜欢越简单,性能越好,更合适的,功能越完善的架构。因此 1 中的架构就逐渐代替了Systom.out。
原因:a — System.out 是一个直接和控制台打交道的PrintStream对象,是终端显示的基础,调试简单的程序是比较不错的选择
b — System.out 不是一个日志系统,一个比较完善的日志系统应当有输出媒介、优先级、格式化、日志过滤、日志管理、参数配置等功能
3. 日志输出级别
ERROR 为严重错误 主要是程序的错误
WARN 为一般警告,比如session丢失
INFO 为一般要显示的信息,比如登录登出
DEBUG 为程序的调试信息
4. SLF4J
对于java后台开发的人员来说self4j肯定不会陌生,如果你还把它当做是日志框架的话,可能不太合理。说成日志框架的抽象更合理,想了解更多的可以参考https://www.slf4j.org/
参考文献
https://www.cnblogs.com/gavanwanggw/p/7305218.html
https://blog.csdn.net/imxiangzi/article/details/7835860
http://blog.sina.com.cn/s/blog_7707993101010hap.html
本文主要是记录最近的学习心得,不合理的地方敬请阅者指点
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126578.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...