そのため、私は this (非Maven実装)と、slf4jをlog4jに追加するための webサイト の要件に従ってみました。このコードを使用してみました
public static void main(String[] args) {
Logger logger = LoggerFactory.getLogger(Main.class);
logger.info("test");
}
私のライブラリに次を追加しました
実行しようとすると、次のエラーが表示されます
Exception in thread "main" Java.lang.StackOverflowError
at Java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.Java:936)
at Java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.Java:964)
at org.Apache.logging.slf4j.SLF4JLoggerContext.getLogger(SLF4JLoggerContext.Java:40)
at org.Apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.Java:37)
at org.Apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.Java:29)
at org.Apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.Java:47)
at org.Apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.Java:29)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.Java:284)
at org.Apache.logging.slf4j.SLF4JLoggerContext.getLogger(SLF4JLoggerContext.Java:41)
at org.Apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.Java:37)
at org.Apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.Java:29)
at org.Apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.Java:47)
at org.Apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.Java:29)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.Java:284)...
私が間違っている場所は何ですか?
log4j-slf4j-impl-2.3.jar
とlog4j-to-slf4j-2.3.jar
を使用して呼び出しループを作成しています。
log4j-slf4j-impl-2.3.jar
は、slf4j呼び出しをlog4jに送信するアダプターの実装です。
log4j-to-slf4j-2.3.jar
はlog4j呼び出しをslf4jにすぐに送信しています。 これを削除。