Always log to log file

This commit is contained in:
Joel Collins 2020-03-10 14:21:56 +00:00
parent 4edf07be15
commit 4dd01bfcd2

View file

@ -2,7 +2,7 @@
import time import time
import atexit import atexit
import logging import logging, logging.handlers
import os import os
import pkg_resources import pkg_resources
@ -30,32 +30,25 @@ from openflexure_microscope.api.microscope import default_microscope as api_micr
from openflexure_microscope.api.v2 import views from openflexure_microscope.api.v2 import views
# Handle logging # Handle logging
is_gunicorn = "gunicorn" in os.environ.get("SERVER_SOFTWARE", "")
DEFAULT_LOGFILE = logs_file_path("openflexure_microscope.log") DEFAULT_LOGFILE = logs_file_path("openflexure_microscope.log")
logger = logging.getLogger() logger = logging.getLogger()
if (__name__ == "__main__") or (not is_gunicorn):
# If imported, but not by gunicorn
print("Letting sys handle logs")
logger.setLevel(logging.DEBUG)
else:
# Direct standard Python logging to file and console
error_formatter = logging.Formatter(
"[%(asctime)s] [%(threadName)s] [%(levelname)s] %(message)s"
)
rotating_logfile = logging.handlers.RotatingFileHandler( error_formatter = logging.Formatter(
DEFAULT_LOGFILE, maxBytes=1_000_000, backupCount=7 "[%(asctime)s] [%(threadName)s] [%(levelname)s] %(message)s"
) )
error_handlers = [rotating_logfile, logging.StreamHandler()] rotating_logfile = logging.handlers.RotatingFileHandler(
DEFAULT_LOGFILE, maxBytes=1_000_000, backupCount=7
)
for handler in error_handlers: error_handlers = [rotating_logfile, logging.StreamHandler()]
handler.setFormatter(error_formatter)
logger.addHandler(handler)
logger.setLevel(logging.getLogger("gunicorn.error").level) for handler in error_handlers:
handler.setFormatter(error_formatter)
logger.addHandler(handler)
logger.setLevel(logging.INFO)
# Log server paths being used # Log server paths being used