zoukankan      html  css  js  c++  java
  • 日志学习-slf4j

    1.日志变量在类中申明为静态变量还是动态变量?

    package some.package;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
          
    public class MyClass {
      final (static) Logger logger = LoggerFactory.getLogger(MyClass.class);
      ... etc
    }

    例如上例.可以参考:http://slf4j.org/faq.html#declared_static

    这里对上面的参考做一个大概的总结:

    1.静态的每个类只会加载一个实例.动态的每个实例生成一个,但是在logback 的实现中,同一个application(项目)中多个相同类的实例也只会返回一个实例,因为logback保存了上下文的原因.

    2.设置为静态变量,则日志框架不能在多个项目中共享.设置为非静态的可以.

    3.设置为静态变量则不能IOC 注入,不能序列化;而非静态的可以.

    结论是:是如果是使用logback 作为slf4j 的实现,则使用非静态变量更好.

  • 相关阅读:
    Java运行时内存
    java --对象流与对象的序列化
    Java 文件操作
    爬虫
    eclipse项目放到github
    越来越玄的JAVA
    map和set的遍历
    集合总览
    unsafe类
    狡诈的java并发容器
  • 原文地址:https://www.cnblogs.com/predisw/p/4756974.html
Copyright © 2011-2022 走看看