Log4j 2.x

Log4j 2.x Log4j2.x log4j-api:log4j2 定义的API log4j-core:log4j2 上述API的实现 <properties> <log4j.version>2.17.2</log4j.version> </properties> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-jcl</artifactId> <version>${log4j.version}</version> </dependency> log4j2里面日志有8个等级,由低到高是: all<trace<debug<info<warn<error<fatal<off 看下面的配置,这个配置会输出error及以上的日志级别,也就是onMatch匹配的是 大于等于 该等级的日志,输出的就是error,fatal <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY" /> 然后是一个相反的配置,这个配置会输出error以下的日志级别,也就是onMismatch匹配的是 小于 该等级的日志,输出的就是warn,info,debug,trace <ThresholdFilter level="error" onMatch="DENY" onMismatch="ACCEPT" /> <loggers> </AsyncLogger> </loggers> loggers标签,用于定义logger的lever和所采用的appender,其中appender-ref必须为先前定义的 appenders的名称,例如,此处为Console。那么log就会以appender所定义的输出格式来输出log。 root标签为log的默认输出形式,如果一个类的log没有在loggers中明确指定其输出lever与格式,那么就会采用root中定义的格式。 private static Logger logger = LogManager.getLogger(Foo.class.getName()); gradle compile ‘org.apache.logging.log4j:log4j-api:2.0-beta9’ compile ‘org.apache.logging.log4j:log4j-core:2.0-beta9’ The name of the configuration file should be log4j2.xml ...

2013-12-27 · 1 min · 178 words · -