If two loggers have each other attached the log messages will be exchanged indefinitely. The check whether a logger is already attached should include all attached loggers recursively as well and throw ZCX_ALOG_ALREADY_ATTACHED.
Check should go in ZCL_ALOG_LOGGER_BASE->ATTACH