1

デフォルトのjava.util.Logging APIを使用して情報をログに出力しています。

Logger.getLogger(Datastore.class.getName());
logger.info("Registering ");

Datastore はクラスの名前ですが、ログが保存されている場所を見つけることができません。私は Windows 7 マシンで実行しており、上記のプログラムはサーブレットの一部です。一見ばかげた質問で申し訳ありませんが、そのような取るに足らないことが進行を大きく妨げることがあります。

4

4 に答える 4

1

Logger にハンドラーを追加して、ログの保存先を指定できます。

Handler handler = new FileHandler("DataStore.log");
Logger logger = Logger.getLogger(Datastore.class.getName());
logger.addHandler(handler);
logger.info("Registering ");

ロガーはログ オブジェクトを作成するだけですが、それを実際に表示するのはハンドラーです。ハンドラーは、 Handlerから定義された任意のサブクラスにすることができます。FileHandler を使用する場合は、Java API for FileHandlerを読む必要があります。

于 2012-07-10T05:23:46.600 に答える
1

デフォルトでは、java.util.logging.Logger出力はコンソールに送信され、ファイルには出力されません。java.util.logging.Handlerロガーに を追加する必要があります。以下は、HTML、TEXTFILE のハンドラーを作成するためのスニペットです。お役に立てれば。

package logging;

import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Formatter;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;

public class MyLogger {
    static private FileHandler fileTxt;
    static private SimpleFormatter formatterTxt;

    static private FileHandler fileHTML;
    static private Formatter formatterHTML;

    static public void setup() throws IOException {
        // Create Logger
        Logger logger = Logger.getLogger("");
        logger.setLevel(Level.INFO);
        fileTxt = new FileHandler("Logging.txt");
        fileHTML = new FileHandler("Logging.html");

        // Create txt Formatter
        formatterTxt = new SimpleFormatter();
        fileTxt.setFormatter(formatterTxt);
        logger.addHandler(fileTxt);

        // Create HTML Formatter
        formatterHTML = new MyHtmlFormatter();
        fileHTML.setFormatter(formatterHTML);
        logger.addHandler(fileHTML);
    }
} 

詳細については、この記事をお読みください。

于 2012-07-10T05:41:27.397 に答える
0

ログが更新される場所へのパスを持つ log4j 構成ファイルを確認します。これを参照して確認してください

于 2012-07-10T05:18:36.383 に答える
0

log4j 構成ファイルがない場合 (Logger が log4j からのものであると仮定して)、物事は非常に静かになります。

手始めに、クラス ディレクトリのルートに次のようなプロパティ ファイルを追加してみてください。

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

ここから来るもの

于 2012-07-10T05:24:51.513 に答える