定义日志测试类:
创新互联建站主营潢川网站建设的网络公司,主营网站建设方案,成都APP应用开发,潢川h5微信小程序搭建,潢川网站营销推广欢迎潢川等地区企业咨询import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
logger.trace("我是trace信息");
logger.debug("我是debug信息");
logger.info("我是info信息");
logger.warn("我是warn信息");
logger.error("我是error信息");
logger.fatal("我是fatal信息");
1、log4j规定了默认的几个级别:trace 2、Log4j有一个默认的配置,它的日志级别是ERROR,只输出到控制台。 3、root没有name属性,root相当于根节点,所有的logger都继承了root的log配置,如果没有指定logger的级别,只能打印root级别以上的日志。 即使你在很多类里面通过类名.class.getName() 得到很多的logger,而且没有在配置文件的loggers下面做配置,他们也都能够输出,因为他们都继承了root的log配置。 如下设置,root的级别为error, Console这些节点不能随便命名的。 输出结果: 2016-12-22 15:17:28.978 ERROR [main][Log4j2Test.java:15] - 我是error信息 2016-12-22 15:17:28.979 FATAL [main][Log4j2Test.java:16] - 我是fatal信息 如果修改控制台输出,加入如下: 则Console只输出fatal级别以上的日志: 2016-12-22 15:19:05.945 FATAL [main][Log4j2Test.java:16] - 我是fatal信息 设置指定类的日志输出,如果设置级别为info,即使root的级别为error,指定类的info级别以上的扔能输出,相当于重写了root。 则test.Log4j2Test的所有info级别以上的日志会输出到ERROR-APPENDER文件里,如果ERROR-APPENDER有设置: 则test.Log4j2Test只有满足error以上级别的才会输出到文件,要大于logger本身定义的info级别。 最终输出root->logger->appender的级别限制。 如果test.Log4j2Test配置两个AppenderReF,那么两个都会记录满足level="debug"级别的日志,这样会造成多处记录日志,应该开启匹配过滤。 发邮件功能,只有error级别以上的才能发邮件,需要引入mail的jar包。 smtpProtocol="smtp" smtpHost="smtp.sina.cn" smtpPort="25" bufferSize="50" smtpDebug="false" smtpPassword="***" smtpUsername="from@sina.cn"> 创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
网站名称:Log4j2的常用配置-创新互联
标题来源:http://cxhlcq.com/article/phjhp.html