Я даже не очень понимаю, что отвечать…
1. Вы, конечно же, никому ничего не должны. Библиотека предлагает такой способ работы с ней. Можно пользоваться, можно искать другую библиотеку.
2. Если охота — можно вместо одной строки написать в явном виде вызов метода logger.forcedLog. Макрос просто добавляет пару проверок и некоторую общность.
3. Можно написать свой вроппер без макросов — опенсорс ведь.
4. А что плохого в макросах?
1, 2, 3 — это, конечно, верно. Просто странно, что проверки, которые вы упомянули, нельзя было реализовать в самом методе.
4 — а вот на этот вопрос Вам ответит толстая красная книжка Макконнелла.
Библиотека логирования log4cplus