log4j记录层次顺序

e0uiprwp  于 2022-11-06  发布在  其他
关注(0)|答案(9)|浏览(191)

log4j日志记录的层次结构是什么?

DEBUG
INFO
WARN
ERROR
FATAL

哪一个提供了最高的日志记录,这将有助于解决问题?任何人都可以提供的顺序或层次结构,其中日志记录发生从最高到最低?谢谢!

kwvwclae

kwvwclae1#

此表可能对您有所帮助:

向下查看第一列,您将看到日志在每个级别中的工作方式。例如,对于WARN,(FATAL,ERROR和WARN)将可见。对于OFF,将不显示任何内容。

jrcvhitl

jrcvhitl2#

使用force,读取源代码(摘录自PriorityLevel类编译,TRACE级别在1.2.12版本中引入):

public final static int OFF_INT = Integer.MAX_VALUE;
public final static int FATAL_INT = 50000;
public final static int ERROR_INT = 40000;
public final static int WARN_INT  = 30000;
public final static int INFO_INT  = 20000;
public final static int DEBUG_INT = 10000;
public static final int TRACE_INT = 5000; 
public final static int ALL_INT = Integer.MIN_VALUE;

或者log4j API for the Level class,这就很清楚了。
当库决定是否打印某个语句时,它将计算负责的Logger对象的有效级别(基于配置)并将其与LogEvent的级别进行比较。(取决于代码中使用的方法- trace/debug/.../fatal)。如果LogEvent的级别大于或等于Logger的级别,LogEvent被发送到appender(s)-“printed”。在核心,这一切都归结为一个整数比较,这就是这些常量起作用的地方。

mbjcgjjk

mbjcgjjk3#

OFF
FATAL
ERROR
WARN
INFO
DEBUG
TRACE
ALL
ncgqoxb0

ncgqoxb04#

log4j日志记录级别的层次结构按从最高到最低的顺序排列如下:

  • 追踪
  • 调试
  • 信息
  • 警告
  • 错误信息
  • 致命的
  • 关闭

TRACE日志级别提供最高的日志记录,这将有助于解决问题。调试日志级别对于解决问题也非常有用。
您也可以指涉此链接,以取得有关记录层级的详细信息:https://logging.apache.org/log4j/2.0/manual/architecture.html

g52tjvyc

g52tjvyc5#

取自[http://javarevisited.blogspot.com/2011/05/top-10-tips-on-logging-in-java.html]
DEBUG是最低的受限java日志记录级别,我们应该编写调试应用程序所需的所有内容,此java日志记录模式只能在开发和测试环境中使用,不得在生产环境中使用。
INFO比DEBUG java日志级别更严格,我们应该在java中的INFO级别日志中记录信息,如服务器已启动、传入消息、传出消息等。
WARN比INFO java日志记录级别更严格,用于记录警告类消息,例如客户端和服务器之间的连接丢失。数据库连接丢失。套接字达到其限制。这些消息和Java日志记录级别几乎是重要的,因为您可以在Java中设置这些日志记录消息的警报,并让您的支持团队监视Java应用程序的运行状况,并对此警告消息作出React。在摘要中,WARN级别用于记录Java中记录的警告消息。
ERROR是比WARN更严格的Java事件记录级别,用于记录错误和异常错误。您还可以在此Java事件记录级别上设置预警,并提醒监视小组对此消息作出React。ERROR对于Java中的事件记录来说是严重的,您应始终打印它。
FATAL java日志记录级别指定非常严重的错误事件,这些事件可能会导致应用程序中止。在此之后,大多数情况下,您的应用程序崩溃并停止。
OFF java日志记录级别具有可能的最高级别,用于关闭Java中的日志记录。

dly7yett

dly7yett6#

层次结构顺序
1.全部
1.追踪
1.调试
1.信息
1.警告
1.错误信息
1.致命的
1.关闭

aelbi1ox

aelbi1ox7#

为了清楚起见,log4j中没有定义术语“hierarchy”。是的,有不同的级别。为了排除故障,你必须选择你想要的日志级别。

zysjyyx4

zysjyyx48#

我发现术语“日志记录级别”有点令人困惑,所以我更喜欢这样想:

  • 事件有一个SEVERITY(级别)。在log4j中,它被建模为一个整数。
  • 记录器具有阈值(也称为LoggerConfig级别,用于过滤事件)

按照惯例,log4j定义了一些Standard Log Levels。在v2.x中,这些Standard Log Levels是(按严重性降序排列):OFFFATALERRORWARNINFODEBUGTRACEALL。请注意,OFFALL 仅用作记录器阈值,而不是事件严重性级别。您还可以添加自己的自定义级别,并为它们分配一个数值。
记录器将忽略任何严重程度低于其阈值的事件:

  • 阈值OFF表示不记录日志。
  • 阈值FATAL表示仅记录FATAL事件(或更严重的事件)。
  • 阈值ERROR表示仅记录ERROR(错误)、FATAL(致命)(或更严重)。
  • 阈值WARN表示仅记录WARN(警告)、ERROR(错误)、FATAL(致命)(或更严重)。
  • 等等。
  • 阈值ALL表示记录所有事件(最详细的选项)

作为一个图表(基于in the log4j v2.x docs所示的表),它看起来像这样:

rkkpypqq

rkkpypqq9#

跟踪--〉调试--〉信息--〉警告--〉错误--〉致命
如果将日志级别设置为WARN,则将记录所有WARN及其以下的所有级别(错误和致命)。如果将日志级别设置为TRACE,则将记录所有TRACE及其以下的所有级别(调试,信息,WARN,错误,致命)。

相关问题