级别p的级别使用q,在记录日志请求时,如果p>=q启用。这条规则是log4j的核心。它假设级别是有序的。对于标准级别它们关系如下:ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF。
下面的例子明确指出如何可以过滤所有的DEBUG和INFO消息。这个程序使用记录并执行setLevel(Level.X)方法来设置所需的日志记录级别:
这个例子将打印,除了调试和信息的所有消息:
import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger .getLogger(LogClass.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 = /usr/home/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 LogClass { private static org.apache.log4j.Logger log = Logger .getLogger(LogClass.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!"); } }现在,编译和运行上面的程序,得到以下结果在 /usr/home/log4j/log.out 文件:
Warn Message! Error Message! Fatal Message! 转自:http://www.yiibai.com/log4j/log4j_logging_levels.html转载于:https://www.cnblogs.com/shaozhiqi/p/5045754.html
相关资源:JAVA上百实例源码以及开源项目