У меня была похожая ситуация, когда мое приложение и DLL входили в один файл. Это только обоснованное предположение, но попробуйте изменить имя регистратора в dll и приложении.
// in application1.dll
const log4cxx::LoggerPtr logger1 log4cxx::Logger::getLogger("ABC"));
log4cxx::PropertyConfigurator::configure("./application1.config");
// in application2.dll
const log4cxx::LoggerPtr logger2 log4cxx::Logger::getLogger("ABC"));
log4cxx::PropertyConfigurator::configure("./application2.config");
Предполагается, что вы используете постоянную конфигурацию. Applicagtion1.config и application2.config могут быть идентичными, за исключением строки log4j.appender.File.File=
в application1.config
log4j.appender.File.File=logs/application1.logs
и в application2.config
log4j.appender.File.File=logs/application2.logs