第三百零六节 Log4j教程 - Log4j日志级别
Log4j教程 - Log4j日志级别
org.apache.log4j.Level类具有以下级别。
我们还可以通过对Level类进行子类化来定义我们的自定义级别。
级别 | 描述 |
---|---|
ALL | 所有级别包括自定义级别。 |
DEBUG | 调试消息日志。 |
ERROR | 错误消息日志,应用程序可以继续运行。 |
FATAL | 严重错误消息日志,必须中止运行应用程序。 |
INFO | 信息消息。 |
OFF | 最高可能的排名,旨在关闭日志记录。 |
TRACE | 高于DEBUG。 |
WARN | 用于警告消息。 |
控制级别
在Log4j中,级别是有序的。
如果A>= Y,则在级别为Y的记录器中启用级别X的日志请求。
对于标准级别,我们有ALL <DEBUG<INFO<WARN<ERROR<FATAL<OFF。
以下示例显示如何过滤所有DEBUG和INFO消息。
它使用logger方法 setLevel(Level.XXX)
设置所需的日志记录级别。
以下代码打印除Debug和Info之外的所有消息:
import org.apache.log4j.*; public class Main { private static org.apache.log4j.Logger log = Logger .getLogger(Main.class); public static void main(String[] args) { log.setLevel(Level.WARN); log.trace("Trace Message!"); log.debug("Debug Message!"); log.info("Info Message!"); log.warn("Warn Message!"); log.error("Error Message!"); log.fatal("Fatal Message!"); } }
当你编译和运行LogClass程序时,它将产生以下结果:
Warn Message! Error Message! Fatal Message!
使用配置文件设置级别
我们可以使用Log4j配置文件来控制日志级别设置,而不更改源代码。
以下代码显示如何通过配置文件执行log.setLevel(Level.WARN)。
# Define the root logger with appender file log = c:/log4j log4j.rootLogger = WARN, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=${log}/log.out # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n
现在让我们使用我们的下面的程序:
import org.apache.log4j.*; public class Main { private static org.apache.log4j.Logger log = Logger.getLogger(Main.class); public static void main(String[] args) { log.trace("Trace Message!"); log.debug("Debug Message!"); log.info("Info Message!"); log.warn("Warn Message!"); log.error("Error Message!"); log.fatal("Fatal Message!"); } }