在实际的生产应用中,养成良好的埋点打日志的习惯,是一个优秀软件开发工程师必不可缺的技能。丰富的日志有助于我们排查线上出现的问题。
本文介绍了Java中的日志,并给出了在实际应用中配置的日志模块的实例。
日志的级别
- 日志信息的优先级从高到底有
ERROR、WARN、INFO、DEBUG
,分别用来指定这条日志信息的重要程序
日志信息的优先级
org.apache.log4j.Level
类提供以下级别,但也可以通过Level类的子类自定义级别
Level | 描述 |
---|---|
ALL | 各级包括自定义级别 |
DEBUG | 指定细粒度信息事件是最有用的应用程序调试 |
ERROR | 错误事件可能仍然允许应用程序继续运行 |
FATAL | 非常严重的错误事件,这可能导致应用程序的终止 |
INFO | 指定能够突出在粗粒度级别的应用程序运行情况的信息 |
OFF | 这是最高等级,是为了关闭日志记录 |
TRACE | 指定细粒度比DEBUG更低的信息事件 |
WARN | 指定具有潜在危害的情况 |
日志级别是如何工作的
- 级别p的级别使用q,在记录日志请求时,如果p>=q启用
- 这条规则是log4j的核心,它假设级别是有序的
- 标准级别的关系如下:
ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF
在实际开发中使用日志功能
slf4j+logback
项目依赖
1 | <dependency> |
配置文件
1 | <?xml version="1.0" encoding="UTF-8" ?> |
java使用demo
1 | public class LogFactory { |
log4j
项目依赖
- slf4j-api.jar
- slf4j-log4j.jar
配置文件
1 | # 优先级从高到低分别是 ERROR、WARN、INFO、DEBUG |
Java使用demo
1 | public class LogFactory { |