vous pourriez avoir la chance avec une approche légère connue sous le nom de marquage du journal. L'inflexibilité des paquets de journalisation standard m'a conduit à développer et publier Tagalog, qui est un système de journalisation open-source à un seul fichier. Il existe des versions de la bibliothèque en PHP, Python et Ruby disponible sur github:
https://github.com/dorkitude/tagalog
ou, plus précisément pour la version Ruby:
https://github.com/dorkitude/tagalog.rb
Une façon simple à utiliser dans votre cas est:
class Person
def self.log(input):
return Tagalog::log(input, [:person, :debug])
# ... (rest of class)
end
Les avantages du marquage par-dessus les niveaux sont que vous pouvez activer et désactiver les étiquettes comme vous le souhaitez, et ils peuvent être spécifiques à certaines fonctionnalités, ou ils peuvent simplement être des niveaux comme vous en avez l'habitude.
J'aime le marquage approcher beaucoup, va jeter un oeil. – opsb
@opsb - une chance avec le marquage? Cela me fait économiser quelque chose comme 10% de mon temps de développement :) –
ouais j'ai eu une pièce de théâtre, ça marche très bien. Je pense que cela fonctionnerait bien en tant que décorateur par rapport à l'enregistreur standard. De cette façon, vous pouvez vous connecter à n'importe quelle infrastructure de journalisation existante, mais avec la fonctionnalité de marquage supplémentaire. – opsb