Я делаю так:
<configuration debug="false">
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%-50class{50} [%-5level]: %msg%n</Pattern>
</layout>
</appender>
<appender name="gui" class="logback.appender.JavaFXAppender">
<layoutPattern>[%-5level]: %msg%n</layoutPattern>
</appender>
<!-- в коде я запрашиваю это логгер по имени, у него добавлен свой аппендер, все что передается в этот логгер - добавляется в добавленные аппендеры.
если удалить этот логгер, то все, что было адресовано ему - пойдет в root
-->
<logger name="cardservices" level="debug" additivity="false">
<appender-ref ref="gui" />
</logger>
<root>
<appender-ref ref="console" />
</root>
</configuration>
Для нужного пакета и всех классов в нем, можно задать логгеру определенное постоянное имя. А потом просто вносить в конфиг логгер с этим именем и описанием его аппендеров.
В нужном пакете запрашиваю инициализирую логгер (при помощи обертки slf4j, если не пользуешься - инициализируй методами логбека):
private static Logger logger = LoggerFactory.getLogger("cardservices");
...
//сообщение пойдет в логгер с именем "cardservices" и, соответственно в его аппендеры (для данного примера аппендер "gui".
logger.info("rere");
В твоем случае будет как-то так:
<configuration>
<appender name="DB_APPENDER" class="com.test.logging.LogCachedAppender">
</appender>
<logger name="DB_LOGGER" level="debug" additivity="false">
<appender-ref ref="DB_APPENDER" />
</logger>
<root level="debug">
<appender-ref ref="OTHER_APPERNDER" />
</root>
</configuration>
и в нужном пакете инициализировать логгер:
private static Logger logger = LoggerFactory.getLogger("DB_LOGGER");