相关疑难解决方法(0)

记录器应该是私有静态还是非静态

记录器是否应声明为静态?通常我会看到两种类型的记录器声明:

    protected Log log = new Log4JLogger(aClass.class);

要么

    private static Log log = new Log4JLogger(aClass.class);

应该使用哪一个?这两者的专业和概念是什么?

java logging

99
推荐指数
4
解决办法
4万
查看次数

记录器应该是最终的和静态的吗?

可以从许多线程访问类.在这种情况下必须是记录器也是最终的和静态的吗?谢谢.

java logging static final

18
推荐指数
2
解决办法
1万
查看次数

什么是CDI的InjectionPoint的Spring DI等价物?

我想创建一个Spring的bean生成器方法,它知道是谁调用了它,所以我开始使用以下代码:

@Configuration
public class LoggerProvider {

    @Bean
    @Scope("prototype")
    public Logger produceLogger() {
        // get known WHAT bean/component invoked this producer 
        Class<?> clazz = ...

        return LoggerFactory.getLogger(clazz);
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到这些信息想要得到这个bean注入?

我正在寻找一些在Spring世界中相当于CDI的东西InjectionPoint.

spring dependency-injection producer cdi java-ee-6

13
推荐指数
2
解决办法
3663
查看次数

LoggerFactor.getLogger 无法解析为类型

我设置了一个基本的 Java 程序,我正在关注本教程并拥有以下确切代码:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HelloWorld {
  public static void main(String[] args) {
    Logger logger = LoggerFactory.getLogger(HelloWorld.class);
    logger.info("Hello World");
  }
}
Run Code Online (Sandbox Code Playgroud)

我的构建路径上有 jars slf4j-api-1.7.5.jar 和 slf4j-log4j12-1.7.5 jar。我不明白是什么给出的,getLogger 方法存在于 LoggerFactory 类中,我可以 F3(源代码查找)到它。我对此进行了 Google 搜索,似乎是唯一解决此问题的方法。有任何想法吗?

这是我用于 Eclipse 的 .classpath:

<xml version="1.0" encoding="UTF-8"?>
<classpath>
   <classpathentry kind="src" path="src"/>
   <classpathentry kind="con" path="org.eclipse.jdit..../>
   <classpathentry kind="lib" path="/home/Desktop/slf4j-api-1.7.5.jar" sourcepath="/home/Desktop/slf4j-api-1.7.5.jar"/>
   <classpathentry kind="lib" path="slf4j-log4j12-1.7.5.jar"/>
   <classpathentry kind="lib" path="log4j-1.2.17.jar"/>
   <classpathentry kind="output" path="bin"/>
</classpath>
Run Code Online (Sandbox Code Playgroud)

java eclipse logging slf4j buildpath

2
推荐指数
1
解决办法
3万
查看次数