物业主应该如何为5G做准备?
3.2、项目应用
3.2.1、添加 maven 依赖 2.2.4、isInfoEnabled()有何作用呢? 简单来说,在某些场景下,用isInfoEnabled()方法判断下是能提升性能的! 例如我们打印这段内容logger.info("User:" + userId + appId),程序在打印这行代码时,先对内容("User:" + userId + appId)进行字符串拼接,然后再输出。 如果当前配置文件中日志输出级别是info,是直接输出的,当日志输出级别是error时,logger.info()的内容时不输出的,但是我们却进行了字符串拼接,如果加上if(logger.isInfoEnabled())进行一次判定,logger.info()就不会执行,从而更好的提升性能,这个尤其是在高并发和复杂log打印情况下提升非常显著。 另外,ERROR及其以上级别的log信息是一定会被输出的,所以只有logger.isDebugEnabled、logger.isInfoEnabled和logger.isWarnEnabled()方法,而没有logger.isErrorEnabled方法。 三、Log4j2 3.1、介绍
log4j2 是 log4j 1.x 的升级版,参考了 logback 的一些优秀的设计,并且修复了一些问题,因此带来了一些重大的提升,主要特点有: 当我们使用 Log4j 输出一条日志时,Log4j 自动通过不同的Appender(输出源)把同一条日志输出到不同的目的地。例如:
在输出日志的过程中,通过Filter来过滤哪些log需要被输出,哪些log不需要被输出。 在Loggers(记录器)组件中,级别分五种:DEBUG、INFO、WARN、ERROR和FATAL。 这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用来指定这条日志信息的重要程度,明白这一点很重要,Log4j有一个规则:只输出级别不低于设定级别的日志信息。 假设Loggers级别设定为INFO,则INFO、WARN、ERROR和FATAL级别的日志信息都会输出,而级别比INFO低的DEBUG则不会输出。 最后,通过Layout来格式化日志信息,例如,自动添加日期、时间、方法名称等信息。 具体输出样式配置,可以参考如下内容Log4j2 - Layouts布局介绍 2.2、项目应用 以 Java 项目为例,在 Maven 的pom.xml中添加如下依赖!
2.2.1、添加 maven 依赖 (编辑:四平站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
