0

奇妙な問題があります。おそらく単純な問題ですが、解決策がないまま20分間グーグルを続けています。

Eclipseでlog4jを使用しようとしています。最新のzipをダウンロードして、クラスパスに追加しました。チュートリアルからコピーしてプロパティファイルを作成しました。プロパティファイルは私のプロジェクトのルートフォルダにあり、「log4j.properties」という名前です。ファイルに含まれている

#define the console appender
log4j.appender.consoleAppender = org.apache.log4j.ConsoleAppender

# now define the layout for the appender
log4j.appender.consoleAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

# now map our console appender as a root logger, means all log messages will go to this     appender
log4j.rootLogger = DEBUG, consoleAppender

私のクラスは次のとおりです。eclipseのPropertyConfigurator.configure()行で次のエラーが発生します。この行に複数のマーカー-トークン""log4j.properties ""の構文エラー、このトークンを削除-トークンの構文エラー、誤って配置された構成

ただし、log4jのAPIは、propertyconfiguratorが文字列を受け入れる必要があることを示しています。助言がありますか?-

package org.dnsdojo.ryanhost.GA.MuPlusOne;

import java.util.Random;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;


public class Genome
{
private static Logger logger = Logger.getLogger(Genome.class);
PropertyConfigurator.configure("log4j.properties");
byte[] genome;
Random rng = new Random();
String genomeString = "";

public Genome ( int stringLength, int motorSet )
{
    genome = new byte[ stringLength * 7 * motorSet]; // stringLength depends on how many bytes you wish to have. For the arpibot this is dependant on the number of sensor readings taken
    for (int i = 0; i < genome.length; i++)
    {
        genome[i] = (byte)rng.nextInt(2);
        genomeString += genome[i];
    }
    logger.debug(genomeString);     
}

public byte[] getGenome()
{
    return genome;
}

public byte[] mutate (float mutationStep)
{
    return genome;                                  //placeholder
}

}
4

1 に答える 1

1

あなたは現在PropertyConfigurator.configureクラスブロックにいるので、コンパイラは不平を言っています。ステートメントを (他の非宣言ステートメントと共に) メソッドまたはstatic初期化子ブロックに移動します。

于 2013-03-07T18:16:09.070 に答える