Вам может повезти с легким подходом, известным как пометка журналов.Негибкость стандартных пакетов журналов привела меня к разработке и выпуску Tagalog, который представляет собой однофайловую систему регистрации с открытым исходным кодом.На github доступны версии библиотеки на PHP, Python и Ruby:
https://github.com/dorkitude/tagalog
или, в частности, для версии Ruby:
https://github.com/dorkitude/tagalog.rb
Простой способ использовать его в вашем случае:
class Person
def self.log(input):
return Tagalog::log(input, [:person, :debug])
# ... (rest of class)
end
Преимущества тегирования над уровнями состоят в том, что вы можете включать и выключать теги по своему усмотрению, и они могут-специфичные, или они могут быть просто уровнями, к которым вы привыкли.