Возможно, вам повезло с легким подходом, известным как маркировка журналов. Негибкость стандартных пакетов ведения журналов привела меня к разработке и выпуску Tagalog, который представляет собой систему протоколов с открытым исходным кодом с одним файлом. Есть версии библиотеки в PHP, Python и Ruby, доступен на GitHub:
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
Преимущества тегов по уровням - это возможность включать и выключать теги как вы сочтете нужным, и они могут быть особенностью, или они могут быть только такими уровнями, как вы привыкли.
Мне очень нравится подход пометки, посмотрим. – opsb
@opsb - любая удача с пометкой? Это сэкономит мне что-то вроде 10% моего времени разработки :) –
Да, у меня была игра, работает очень хорошо. Я думаю, что это будет хорошо работать как декоратор над стандартным регистратором. Таким образом, вы можете подключиться к любой существующей инфраструктуре регистрации, но с дополнительными функциями тегов. – opsb