Ответ 1

Одним из больших преимуществ пакета log4r является то, что он следует шаблону log4j, log4cpp, log4net и т.д., которые многие люди уже знакомы. Он также поддерживает файлы конфигурации, позволяя легко настраивать ведение журнала во время выполнения без изменения кода. Недостатком является то, что он не является точным клоном семейства фреймов log4j в Ruby, и, таким образом, файл конфигурации не соответствует тому же формату, что и остальная часть семейства log4j (и другие данные могут быть разными, что может поймать людей, знакомых с log4j).

Если вам не нужна встроенная конфигурация, и вы не особенно заботитесь о том, как следовать шаблону log4j, то, вероятно, достаточно использовать стандартный класс Logger и поможет уменьшить ваши дополнительные зависимости.

Ответ 2

Log4Rr поставляется с несколькими классами выходных данных из коробки, что может быть удобно, если вам нужно сделать что-то другое, кроме стандартного "append to file and stdout". Например, у нас есть набор рубиновых скриптов, работающих ежедневно или ежечасно, и мы отправляем им электронные письма всякий раз, когда они сбой (для которого мы используем уровень FAIL) или встречаемся с ERROR.

Существует также куча полезных материалов, таких как имена журналов: для каждого мы создаем раздел конфигурации, а при выполнении мы легко переопределяем используемое по аргументу команды или переменной среды. Etc и т.д.

Таким образом, это не только совместимость с шаблоном log4j (на самом деле это нас не волновало), но и богатая функциональность.