Существует предопределенный appender для него (org.apache.log4j.jdbc.JDBCAppender
), но у него есть ограничения, проверьте API .
Что касается второй части вашего вопроса, то каждый вызов Logger.debug/info/warn
и т. Д. Приводит к созданию объекта LoggingEvent
во внутреннем устройстве log4j, который является «единицей ведения журнала». Log4j не добавляет ничего к этому объекту позже, просто регистрирует его и забывает.
Если вам нужно объединить сложный текст и зарегистрировать его как один, вы должны использовать эту технику или лучше использовать log4j с slf4j, который может создавать строки журнала с заполнителями {}
, вроде как Функция C printf
.