| 123456789101112131415161718192021222324 |
- """Keep application logging used by all test entrypoints in temporary storage."""
- import atexit
- import logging
- import os
- import sys
- import tempfile
- _logs = tempfile.TemporaryDirectory(prefix='gcepic-test-logs-')
- os.environ['LOG_DIR'] = _logs.name
- os.environ['LOG_TO_CONSOLE'] = 'false'
- if 'app.config' in sys.modules:
- sys.modules['app.config'].settings.LOG_DIR = _logs.name
- sys.modules['app.config'].settings.LOG_TO_CONSOLE = False
- def _cleanup_logs():
- for handler in list(logging.getLogger().handlers):
- if getattr(handler, '_gc_handler', False):
- logging.getLogger().removeHandler(handler)
- handler.close()
- _logs.cleanup()
- atexit.register(_cleanup_logs)
|