0

いくつかの情報を永続的なデータストアに記録するために log4j を試しています。Java dbを使用しようとしました。

logging_dataという名前のテーブルを持つfirstdbという名前のデータベースを既に作成しています。

しかし、ミニ アプリケーションを実行しようとすると、java.sql.SQLException: Database 'firstdb' not found がスローされます。

理由はわかりませんが、データベースをいじったり、ij ツールを使用していくつかの行やその他のものをクエリしたりできます。

何か提案してください。

log4jDB.properties という名前のプロパティ ファイル

log4j.logger.LoggerClass=DEBUG,DB

log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DB.driver=org.apache.derby.jdbc.EmbeddedDriver
log4j.appender.DB.URL=jdbc:derby:firstdb
log4j.appender.DB.user=app
log4j.appender.DB.password=

log4j.appender.DB.sql=INSERT INTO LOGGING_DATA VALUES('%x','%d{yyyy-MM-dd}','%C','%p','%m')
log4j.appender.DB.layout=org.apache.log4j.PatternLayout
log4j.appender.DB.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

私のテストクラス

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class LoggerClass {
    public static void main(String[] args) {
        Logger logger = Logger.getLogger(LoggerClass.class);
        PropertyConfigurator.configure("log4jDB.properties");
        logger.info("Hello this is a info message");
    }
}

それが役立つ場合は、クラスパスにJava dbの組み込みドライバーも追加しました。

乾杯! サイモン

4

1 に答える 1

0

データベースの場所をより正確に指定する必要があります。jdbc 接続プロパティの log4j ファイルに、次のようなパスを入力します。

log4j.appender.DB.URL=jdbc:derby:C:/Temp/firstdb

また

log4j.appender.DB.URL=jdbc:derby:./firstdb
于 2011-11-01T15:44:50.813 に答える