【发布时间】:2018-01-04 22:32:42
【问题描述】:
我想知道是否有办法在 Python 2.7 中为函数创建宏或别名。
示例:我正在尝试使用 logging 模块并为函数 logging.debug、logging.info、logging.error 等创建别名/宏。如果我在我想要的地方使用这些函数日志,一切正常。但是,如果我尝试像这样创建一个“别名”函数包装器:
def debugLog(message):
logging.debug(message)
...然后行号报告不再按预期工作,报告的行总是说明包装器的位置,而不是实际的日志,这没有任何实际用途。
我确实找到了这个解决方案:
import logging
from logging import info as infoLog
from logging import debug as debugLog
from logging import error as errorLog
....
...但它不适合我,因为我还创建了自己的日志记录严重性:
logging.addLevelName(60, "NORMAL")
...如果可能的话,我也想为它创建一个别名/宏,例如normalLog(message)=logging.log(60, message)?我在Python Docs 或网上找不到任何全面的内容。
【问题讨论】:
-
这不是函数吗? def normalLog(message): logging.log(60, message)
-
如果你只写
normalLog = lambda m: logging.log(60, m)呢? -
@OferSadan:那会出现同样的问题。
-
对于推荐的模式,我建议查看Logging Cookbook。