Appender в log4j — это компонент, определяющий, куда будет отправлено логируемое сообщение. Он определяет целевой вывод (например, консоль, файл, базу данных, удаленный сервер и т.д.).
Основные типы Appender'ов:
ConsoleAppender: вывод в стандартный вывод (System.out) или стандартный поток ошибок (System.err).FileAppender: вывод в файловый поток. Позволяет указать имя файла, возможность добавления к существующему файлу и буферизацию.RollingFileAppender: расширяет FileAppender, добавляя правило ротации файлов логов (например, по размеру или дате).DailyRollingFileAppender: ротирует файлы логов ежедневно.JDBCAppender: вывод в базу данных через JDBC.SocketAppender: отправка логов на сетевой сокет.AsyncAppender: буферизует события и отправляет их другому Appender'у в отдельном потоке, что повышает производительность приложения.Appender привязывается к логгеру в конфигурации log4j. Одному логгеру может быть назначено несколько Appender'ов.
Пример конфигурации Log4j с использованием ConsoleAppender и FileAppender:
xml
В этом примере, корневому логгеру (root) назначены consoleAppender (вывод в консоль) и fileAppender (вывод в файл с ротацией). Каждому Appender'у назначен Layout, который форматирует логируемое сообщение перед выводом.