2016-09-22 23 views
0

Javaアプリケーション(webではなく)を使用してNetbeansでslf4jを設定しようとしています。 私はライブラリを追加しました:Javaアプリケーションでslf4jに問題が発生しました

  • SLF4J-log4j12-1.6.4.jar
  • SLF4J-API-1.6.4.jar

私のコードはこれを好き:

public class TestLogger { 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 
    // TODO code application logic here 
    Logger logger = LoggerFactory.getLogger(TestLogger.class); 
    logger.info("Hello worlds"); 
} 
} 

私は読んだいくつかのガイドでは多く言及されているpom.xmlはありません。 なんですか?

マイ出力:

run: 
Failed to instantiate SLF4J LoggerFactory 
Reported exception: 
java.lang.NoClassDefFoundError: org/apache/log4j/Level 
at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128) 
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108) 
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:279) 
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:252) 
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:265) 
at testlogger.TestLogger.main(TestLogger.java:22) 
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Level 
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
... 6 more 
Exception in thread "main" java.lang.NoClassDefFoundError:  org/apache/log4j/Level 
at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128) 
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:108) 
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:279) 
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:252) 
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:265) 
at testlogger.TestLogger.main(TestLogger.java:22) 
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Level 
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
... 6 more 
Java Result: 1 
BUILD SUCCESSFUL (total time: 0 seconds) 

私はSLF4Jをスムーズに実行できるように、私はの.xmlファイルをconfigの必要があります知っています。 しかし、私は方法と場所を知らない。

P/s:pom.xmlとは何ですか?私はいくつかのチュートリアルでそれをたくさん見ました。

+0

'pom.xml'は、Mavenを使用する場合にのみ必要です。 –

答えて

0

これら2つのライブラリのみが含まれていると、実際のロガー実装であるcore4j12コアライブラリが欠落しています。

しかし、log4j12は廃止され、サポートされていないため、log4j2を使用する必要があります。この場合、ダウンロードする必要のあるapiと "core"の2つのライブラリがあります。

+0

ライブラリにlog4j-1.2.16.jarを追加してデバッグしましたが、次のように出力されました: 'log4j:WARN logger(testlogger.TestLogger)にアペンダーが見つかりませんでした。 log4j:WARN log4jシステムを適切に初期化してください。 log4j:WARN詳細については、http://logging.apache.org/log4j/1.2/faq.html#noconfigをご覧ください。 BUILD SUCCESSFUL(合計時間:0秒) ' – Hanata

関連する問題