我正在尝试使用log4j将一些信息记录到持久性数据存储区。我试着用java db。
我已经使用名为 logging_data 的表创建了名为 firstdb 的数据库。
但是当我尝试运行我的迷你应用程序时,它会抛出 java.sql.SQLException:找不到数据库'firstdb'。
我不知道为什么,但我似乎可以使用数据库,使用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的嵌入式驱动程序,如果这样会有所帮助。
喝彩! 西蒙
答案 0 :(得分:0)
您必须更精确地指定数据库位置。在你的log4j文件中为jdbc连接propertyeis put path,例如:
log4j.appender.DB.URL=jdbc:derby:C:/Temp/firstdb
或
log4j.appender.DB.URL=jdbc:derby:./firstdb