log4j не может найти базу данных, куда помещать сообщения журнала - PullRequest
0 голосов
/ 01 ноября 2011

Я пытаюсь log4j сделать запись некоторой информации в постоянное хранилище данных.Я пытался использовать java db.

Я уже создал базу данных с именем firstdb с таблицей с именем logging_data .

, но когда я пытаюсьзапустите мое мини-приложение, оно выдает 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 на моем пути к классам, если это поможет.

ура! симон

1 Ответ

0 голосов
/ 01 ноября 2011

Вы должны указать местоположение базы данных более точно.В файле log4j для свойства соединения jdbc укажите путь, например:

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

или

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