Tôi đang sử dụng current_app.logger
và khi tôi cố gắng đăng nhập bên trong chuỗi, nó nói "làm việc bên ngoài ngữ cảnh ứng dụng". Làm thế nào để tôi đăng nhập một tin nhắn từ một phương pháp đang chạy trong một chủ đề?Sử dụng Flask current_app.logger bên trong luồng
def background():
current_app.logger.debug('logged from thread')
@app.route('/')
def index():
Thread(target=background).start()
return 'Hello, World!'
Exception in thread Thread-16:
Traceback (most recent call last):
File "/usr/lib64/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/usr/lib64/python3.5/threading.py", line 862, in run
self._target(*self._args, **self._kwargs)
File "/home/sapam/demo.py", line 57, in background
current_app.logger.critical('test')
File "/home/sapam/.virtualenvs/demo/lib/python3.5/site-packages/werkzeug/local.py", line 343, in __getattr__
return getattr(self._get_current_object(), name)
File "/home/sapam/.virtualenvs/demo/lib/python3.5/site-packages/werkzeug/local.py", line 302, in _get_current_object
return self.__local()
File "/home/sapam/.virtualenvs/demo/lib/python3.5/site-packages/flask/globals.py", line 51, in _find_app
raise RuntimeError(_app_ctx_err_msg)
RuntimeError: Working outside of application context.
This typically means that you attempted to use functionality that needed
to interface with the current application object in a way. To solve
this set up an application context with app.app_context(). See the
documentation for more information.
127.0.0.1 - - [13/Sep/2016 12:28:24] "GET/HTTP/1.1" 200 -