我想将日志写入文件。文件正在创建,但是什么也没有写入文件。 我的代码是:
app = Flask(__name__)
formatter = logging.Formatter("[%(asctime)s] {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s")
handler = RotatingFileHandler('/var/log/httpd/myfile.log', maxBytes=100000, backupCount=10)
handler.setLevel(logging.INFO)
handler.setFormatter(formatter)
logger = logging.getLogger("__init__")
logger.setLevel(logging.INFO)
logger.addHandler(handler)
@app.route('/api/urlname', methods=['GET'])
def api_url():
logger.info("----- REST API is called -----")
....
.....
if __name__ == '__main__':
app.run()
调用 / api / urlname 时,代码正在执行并获得结果,但看不到任何登录文件。 我已授予 myfile.log 的完全许可,例如:sudo chmod -R 777 myfile.log。
您能告诉我我做错了什么,为什么日志没有写入文件中?
答案 0 :(得分:3)
您应该将setLevel(logging.info)
都更改为setLevel(logging.INFO)
,因为logging.info
是一个函数,而logging.INFO
是一个整数(在本例中为20),代表信息的日志记录级别记录。