Я поддерживаю log4r,
Для отдельных сценариев (разных файлов .rb) вы можете подходить к этому несколькими различными способами (это подходит, я знаю), во-первых, помните, что описываемые здесь функции доступны в> = 1.1.4.
Одним из способов было бы установить другую строку PatternFormatter для сценария (если вы создаете файл конфигурации yaml или xml, вы можете указать разные шаблоны для каждого имени класса).
Другим способом было бы использовать один из GDC, NDC или MDC в PatternFormatter.
GDC установит «Глобальный контекст диагностики», то есть это значение доступно всем потокам, выполняющим скрипт. Вы можете использовать его, поместив% g в шаблон и установив значение через GDC.set (String) для более подробной информации, см .: http://log4r.rubyforge.org/manual.html
NDC и MDC являются вложенными и отображенными диагностическими контекстами соответственно. Шаблон для них - использовать% x и% X {Symbol | Object} и устанавливать их через NDC.set (String) и MDC.put (Symbol | Object, Object)
Еще один способ - использовать шаблон% t, который выводит имя файла и номер строки, из которой был сделан вызов.
Компромисс между каждым из этих методов заключается в том, что они все более дороги при использовании ресурсов ЦП. Я склонен сначала использовать GDC для того, о чем вы просите.