Я написал приложение log4j, которое будет принимать сообщения определенного типа и выводить их в кластер MongoDB.Давайте назовем это «Аудит»
Я хочу иметь возможность сделать что-то вроде этого:
logger.debug (new AuditEntry (...));
из ЛЮБОГО класса и иметь log4j автоматически направлять любые сообщения журнала типа "AuditEntry" на мойАудит заявителя.Это возможно?Единственный способ, которым я смог сделать это до сих пор, это добавить его в цепочку rootLogger:
log4j.rootLogger=DEBUG, Console, Audit
Но, конечно, AuditEntry также является toString () и выводится на консоль.- Я хотел бы избежать этого, если это возможно.
Я подумал об одном решении, но я не уверен, что это лучшее решение.Сделайте фильтр Audit первым в цепочке:
log4j.rootLogger=DEBUG, Audit, Console
, а затем внутри моего приложения log4j вызовите "clearFilterChain ()". Я еще не пробовал это ... и я не нашел никакой документации по этой функции,
Есть ли другие решения?