8

これについて多くの質問が寄せられていることは知っていますが、私はこれを数日間機能させようとしてきましたが、開始したときよりも前に進んでいません.

Eclipse vm 引数 (デバッグおよび実行中) で使用しようとしましたが、出力が得られ-Dlog4j.configuration=file:/path/to/log4j.propertiesません-Dlog4j.debug

私は.propertiesと.xmlを使用しようとしましたが、喜びはありません

ルート、src、およびクラスパスに追加した外部フォルダーに.xmlおよび.propertiesファイルを配置しようとしました...まだ喜びはありません

別のlib/jarで別の.xmlまたは.propertiesファイルを使用していると思いますが、デバッグを機能させることができないため、ここで間違っていることを追跡するのが非常に難しいと感じています...

どんな助けでも素晴らしいでしょう!以下はコードです..エラーメッセージのみが出力されます。

ダウンロード(http://logging.apache.org/log4j/2.x/download.html)し、アプリにインポートしました log4j-api-2.0-beta8.jar log4j-core-2.0-beta8

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class CucmServMonitor 
{
 private static final Logger logger  = LogManager.getLogger(CucmServMonitor.class.getName())
  public static void main(String[] args) 
  {
    logger.error("testing ERROR level");
    logger.trace("exiting application");
    System.out.println(logger.getName());   
  }
}

今使っているxmlファイル log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
 <configuration status="WARN">
  <appenders>
   <Console name="Console" target="SYSTEM_OUT">
    <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
   </Console>
  </appenders>
 <loggers>
  <root level="debug">
   <appender-ref ref="Console"/>
  </root>
 </loggers>
</configuration>
4

5 に答える 5

10

これを理解するために管理します。ヒントはここにありました。

http://pic.dhe.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftasks-112.htm

log4j2.xml がある場所の「クラス フォルダー」を追加し、それがリストの先頭にあることを確認する必要がありました。

プロジェクトを右クリックして、プロパティに移動します プロジェクトを右クリックして、プロパティに移動します

次に、以下に示す手順に従います。フォルダを追加したら、そのフォルダが一番上にあることを確認してから、[OK] をクリックします。 ここに画像の説明を入力

于 2013-07-31T13:38:14.230 に答える
2

または... src/test/resources のようなリソース ディレクトリを作成し、そのディレクトリに log4j.xml ファイルを追加して、そのディレクトリをソース フォルダーにします。次に、Eclipseはファイルを自動的にクラスディレクトリにコピーし、そこにコピーします。

于 2014-01-26T22:37:45.140 に答える
0

1) ルート フォルダー内に log4j.properties ファイルを作成します。

log4j.rootCategory=DEBUG, CONSOLE

# Appender writes to console
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n

2) コードを次のように変更します。

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class CucmServMonitor {
    private static final Logger logger = Logger.getLogger(CucmServMonitor.class);
    public static void main(String[] args) {
        PropertyConfigurator.configure("log4j.properties"); 
        logger.error("testing ERROR level");
        logger.trace("exiting application");
        System.out.println(logger.getName());  
    }
}
于 2013-07-30T11:43:09.973 に答える