加入收藏 | 设为首页 | 会员中心 | 我要投稿 四平站长网 (https://www.0434zz.com.cn/)- 云服务器、对象存储、基础存储、视频终端、数据应用!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

大数据时代的作用

发布时间:2021-02-07 13:54:33 所属栏目:传媒 来源:互联网
导读:从测试结果上可以看出: 不建议生产环境进行控制台输出; 在纯文件输出的环境下,logback的输出优于log4j2,而log4j2要优于log4j,如果要进行生产环境的部署,建议采用logback,如果是使用log4j2,建议使用异步方式进行输出,输出结果基本是实时输出; 最后需

从测试结果上可以看出:

  • 不建议生产环境进行控制台输出;
  • 在纯文件输出的环境下,logback的输出优于log4j2,而log4j2要优于log4j,如果要进行生产环境的部署,建议采用logback,如果是使用log4j2,建议使用异步方式进行输出,输出结果基本是实时输出;

最后需要注意的地方是:log有风险,输出需谨慎!

由于输出log过程需要进行磁盘操作,且log4j为了保证log输出过程的线程安全性而使用同步锁,就使得输出log成为很耗时的操作,所以log信息一定要言简意赅,不要输出一些无用的log。

七、总结

本文主要围绕项目中使用到的日志框架进行应用介绍,限于笔者的才疏学浅,对本文内容可能还有理解不到位的地方,如有阐述不合理之处还望留言一起探讨。

八、参考
 

五、SLF4J桥接

细心的你,会发现上面代码使用时,都使用的是private static final Logger logger = LoggerFactory.getLogger(LogPrintUtil.class)这个,其中都来自org.slf4j包,SLF4J是啥?有什么作用呢?

SLF4J本身并不输出日志,最大的特色是**:它可以通过适配的方式挂接不同的日志系统,属于一个日志接口**。

如果项目适配到log4j就使用log4j日志库进行输出;如果适配到logback就使用logback日志库进行输出;如果适配到log4j2就使用log4j2日志库进行输出。

这样最大的好处,就是当你想将项目从log4j换成log4j2的时候,只需要在项目pom.xml中进行桥接适配即可,不用修改具体需要打印日志的代码!

六、三大主流日志框架性能比较

介绍了这么多,但是我们还不知道三个日志框架的日志输出性能如何,本文以10000条数据进行打印,比较log4j、log4j2、logback日志的输出时间。

本次测试采用的是本地电脑(win7),每个电脑的配置不一样,测试的结果也不一样,结果是真实的。

  • 同步输出
4.2.2、创建logback配置文件

1、配置说明

logback在启动的时候,会按照下面的顺序加载配置文件:

  • 如果java程序启动时指定了logback.configurationFile属性,就用该属性指定的配置文件。如java -Dlogback.configurationFile=/path/to/mylogback.xml Test,这样执行Test类的时候就会加载/path/to/mylogback.xml配置
  • 在classpath中查找logback.groovy文件
  • 在classpath中查找logback-test.xml文件
  • 在classpath中查找logback.xml文件
  • 如果是jdk6+,那么会调用ServiceLoader查找 com.qos.logback.classic.spi.Configurator接口的第一个实现类
  • 自动使用ch.qos.logback.classic.BasicConfigurator,在控制台输出日志

上面的顺序表示优先级,使用java -D配置的优先级最高,只要获取到配置后就不会再执行下面的流程。相关代码可以看ContextInitializer#autoConfig()方法。

2、同步输出日志

(编辑:四平站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读