Я регистрирую журналы моего приложения в базе данных, используя JDBCAppender из log4j.В какой-то момент я получаю «MySQLSyntaxErrorException» и пытаюсь выяснить причину.
Вот мой файл log4j.properties;
# Define the DB appender
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DB.URL=jdbc:mysql://.../...
log4j.appender.DB.driver=com.mysql.jdbc.Driver
log4j.appender.DB.user=...
log4j.appender.DB.password=...
log4j.appender.DB.sql=INSERT INTO logs (EventDate,Level,Logger,Location,Message) VALUES( '%d{yyyy-MM-dd HH:mm:ss.SSS}', '%p' , '%c' ,'Test', '%m')
log4j.appender.DB.layout=org.apache.log4j.PatternLayout
А вот моя таблица;
Когда я запускаю свой проект, я получаю следующую ошибку:
log4j: ОШИБКА не удалось выполнитьsql com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: у вас есть ошибка в вашем синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с ''.
Если я изменю параметр "% m" на что-то еще, исключение не происходит, и журналвставлен в БД успешно.Итак, я думаю, что проблема с самим сообщением здесь, но я не могу выяснить, какое сообщение вызывает его, так как это очень большой проект.
Есть ли какой-нибудь способ, которым я могу увидеть фактический оператор SQL?Или я могу еще что-нибудь сделать для отладки?