2
我有一個由許多其他類繼承的類。相關類有記錄方法和記錄文字旁邊一些額外的參數,我希望記錄:集中日誌記錄方法和日誌記錄當前行號
import logging
# some lines to set logger
log = logging.getLogger('some_loger')
class SomeClass:
def log_it(self, log_text):
log.info(self.some_param + self.some_other_param + log_text + self.some_another_param)
而且在繼承SomeClass
的任何文件:
class MyOtherClass(SomeClass):
def some_method(self):
...
...
self.log_it('let me log this text')
我也希望記錄當前行號(調用self.log_it
的行),因此我可以輕鬆找到相關文件中的當前記錄行。
什麼是最好的pythonic方式來做到這一點?
如果您不熟悉這個概念,您可能會對[AOP](https://en.wikipedia.org/wiki/Aspect-oriented_programming)感興趣,並且不直接回答您的問題。這種編程風格通常以記錄用例爲例。如果你想閱讀更多+ Python支持,請參閱這篇文章http://stackoverflow.com/questions/12356713/aspect-oriented-programming-aop-in-python。概念驗證:https://bitbucket.org/jsbueno/metapython/src/f48d6bd388fd/aspect.py – 2013-07-24 12:44:49