我正在尝试使用Python日志库来记录我的Bottle应用程序中的消息。日志记录在路由之外按预期工作,但我的应用程序未记录路由中的任何内容。知道什么是错的吗?
import logging
#logging
logger = logging.getLogger('myApp')
logger.setLevel(logging.INFO)
fh = logging.FileHandler('log.log')
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.info("Starting my application.") #this logs as expected
@route('/myRoute', method='POST')
def returnWord():
userWord = (request.forms.get('submittedWord')).lower()
# this doesn't log anything
logger.info("testing logging inside route. word: %s" % (userWord))
return template('<b>Hello {{name}}</b>!', name=userWord)
if __name__ == "__main__":
daemon_run(host='0.0.0.0', port=8080)
答案 0 :(得分:0)
你的例子适合我。 您可能在到达
之前遇到错误logger.info("testing logging inside route. word: %s" % (userWord))
请注意,如果您的POST顺利,您应该在控制台上看到以下行
127.0.0.1 - - [17 / Aug / 2016 19:20:15]“POST / myRoute HTTP / 1.1”200 20
为了确保你拥有正确的轨道,请添加一个像这样的简单功能
@route('/testy', method='GET')
def testy():
logger.info("testy is online :)")
return "COOL"
将您的网络浏览器定向到localhost:8080 / testy并查看COOL消息。 现在,您还将在文件中看到日志消息。