diff --git a/src/oncall/bin/notifier.py b/src/oncall/bin/notifier.py index 16aee98..74b0f20 100644 --- a/src/oncall/bin/notifier.py +++ b/src/oncall/bin/notifier.py @@ -4,6 +4,7 @@ import sys import yaml import logging import time +import os from importlib import import_module from ujson import loads as json_loads from gevent import queue, spawn, sleep @@ -15,19 +16,15 @@ from oncall.notifier import reminder, user_validator # logging logger = logging.getLogger() formatter = logging.Formatter('%(asctime)s %(levelname)s %(name)s %(message)s') -ch = logging.StreamHandler(sys.stdout) -ch.setLevel(logging.DEBUG) +log_file = os.environ.get('NOTIFIER_LOG_FILE') +if log_file: + ch = logging.handlers.RotatingFileHandler(log_file, mode='a', maxBytes=10485760, backupCount=10) +else: + ch = logging.StreamHandler(sys.stdout) ch.setFormatter(formatter) logger.setLevel(logging.INFO) +logger.addHandler(ch) -root = logging.getLogger() -root.setLevel(logging.DEBUG) - -ch = logging.StreamHandler(sys.stdout) -ch.setLevel(logging.DEBUG) -formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') -ch.setFormatter(formatter) -root.addHandler(ch) # queue for messages entering the system send_queue = queue.Queue() diff --git a/src/oncall/bin/scheduler.py b/src/oncall/bin/scheduler.py index a184b96..9b800d1 100644 --- a/src/oncall/bin/scheduler.py +++ b/src/oncall/bin/scheduler.py @@ -7,6 +7,7 @@ import sys import time import importlib +import os from collections import defaultdict from oncall import db, utils @@ -15,13 +16,15 @@ from oncall.api.v0.schedules import get_schedules import logging logger = logging.getLogger() -handler = logging.StreamHandler() -formatter = logging.Formatter('%(asctime)s %(name)-6s %(levelname)-8s %(message)s') -handler.setFormatter(formatter) -logger.addHandler(handler) -logger.setLevel(logging.DEBUG) - -logging.getLogger('requests').setLevel(logging.WARN) +formatter = logging.Formatter('%(asctime)s %(levelname)s %(name)s %(message)s') +log_file = os.environ.get('SCHEDULER_LOG_FILE') +if log_file: + ch = logging.handlers.RotatingFileHandler(log_file, mode='a', maxBytes=10485760, backupCount=10) +else: + ch = logging.StreamHandler(sys.stdout) +ch.setFormatter(formatter) +logger.setLevel(logging.INFO) +logger.addHandler(ch) def load_scheduler(scheduler_name):