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 回答