From 700de88f49a55878da2385a21dfd88a352030679 Mon Sep 17 00:00:00 2001 From: vapao Date: Sat, 7 Nov 2020 00:07:40 +0800 Subject: [PATCH] U improve logging --- .../apps/monitor/management/commands/runmonitor.py | 3 +++ spug_api/apps/monitor/scheduler.py | 14 ++++++-------- .../schedule/management/commands/runscheduler.py | 3 +++ spug_api/apps/schedule/scheduler.py | 10 ++++------ 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/spug_api/apps/monitor/management/commands/runmonitor.py b/spug_api/apps/monitor/management/commands/runmonitor.py index 6c988d9..10df803 100644 --- a/spug_api/apps/monitor/management/commands/runmonitor.py +++ b/spug_api/apps/monitor/management/commands/runmonitor.py @@ -3,6 +3,9 @@ # Released under the AGPL-3.0 License. from django.core.management.base import BaseCommand from apps.monitor.scheduler import Scheduler +import logging + +logging.basicConfig(level=logging.WARNING, format='%(asctime)s %(message)s') class Command(BaseCommand): diff --git a/spug_api/apps/monitor/scheduler.py b/spug_api/apps/monitor/scheduler.py index 9c3493a..458e9f6 100644 --- a/spug_api/apps/monitor/scheduler.py +++ b/spug_api/apps/monitor/scheduler.py @@ -20,8 +20,6 @@ import logging import json import time -logger = logging.getLogger("django.apps.monitor") - class Scheduler: timezone = settings.TIME_ZONE @@ -61,7 +59,7 @@ class Scheduler: if obj.latest_status == 0: if is_notified: self._record_alarm(obj, '2') - logger.info(f'{human_datetime()} recover job_id: {obj.id}, job_name: {obj.name}') + logging.warning(f'{human_datetime()} recover job_id: {obj.id}, job_name: {obj.name}') self._do_notify('2', obj, out) else: if obj.fault_times >= obj.threshold: @@ -69,20 +67,20 @@ class Scheduler: obj.latest_notify_time = int(time.time()) obj.save() self._record_alarm(obj, '1') - logger.info(f'{human_datetime()} notify job_id: {obj.id}, job_name: {obj.name}') + logging.warning(f'{human_datetime()} notify job_id: {obj.id}, job_name: {obj.name}') self._do_notify('1', obj, out) def _handle_event(self, event): close_old_connections() obj = SimpleLazyObject(lambda: Detection.objects.filter(pk=event.job_id).first()) if event.code == EVENT_SCHEDULER_SHUTDOWN: - logger.info(f'EVENT_SCHEDULER_SHUTDOWN: {event}') + logging.warning(f'EVENT_SCHEDULER_SHUTDOWN: {event}') Notify.make_notify('monitor', '1', '调度器已关闭', '调度器意外关闭,你可以在github上提交issue', False) elif event.code == EVENT_JOB_MAX_INSTANCES: - logger.info(f'EVENT_JOB_MAX_INSTANCES: {event}') + logging.warning(f'EVENT_JOB_MAX_INSTANCES: {event}') Notify.make_notify('monitor', '1', f'{obj.name} - 达到调度实例上限', '一般为上个周期的执行任务还未结束,请增加调度间隔或减少任务执行耗时') elif event.code == EVENT_JOB_ERROR: - logger.info(f'EVENT_JOB_ERROR: job_id {event.job_id} exception: {event.exception}') + logging.warning(f'EVENT_JOB_ERROR: job_id {event.job_id} exception: {event.exception}') Notify.make_notify('monitor', '1', f'{obj.name} - 执行异常', f'{event.exception}') elif event.code == EVENT_JOB_EXECUTED: is_ok, out = event.retval @@ -114,7 +112,7 @@ class Scheduler: rds_cli = get_redis_connection() self._init() rds_cli.delete(settings.MONITOR_KEY) - logger.info('Running monitor') + logging.warning('Running monitor') while True: _, data = rds_cli.brpop(settings.MONITOR_KEY) task = AttrDict(json.loads(data)) diff --git a/spug_api/apps/schedule/management/commands/runscheduler.py b/spug_api/apps/schedule/management/commands/runscheduler.py index bc91e3e..89383ac 100644 --- a/spug_api/apps/schedule/management/commands/runscheduler.py +++ b/spug_api/apps/schedule/management/commands/runscheduler.py @@ -3,6 +3,9 @@ # Released under the AGPL-3.0 License. from django.core.management.base import BaseCommand from apps.schedule.scheduler import Scheduler +import logging + +logging.basicConfig(level=logging.WARNING, format='%(asctime)s %(message)s') class Command(BaseCommand): diff --git a/spug_api/apps/schedule/scheduler.py b/spug_api/apps/schedule/scheduler.py index 99dbc4c..c0ce920 100644 --- a/spug_api/apps/schedule/scheduler.py +++ b/spug_api/apps/schedule/scheduler.py @@ -23,8 +23,6 @@ from libs import AttrDict, human_datetime import logging import json -logger = logging.getLogger("django.apps.scheduler") - class Scheduler: timezone = settings.TIME_ZONE @@ -65,13 +63,13 @@ class Scheduler: close_old_connections() obj = SimpleLazyObject(lambda: Task.objects.filter(pk=event.job_id).first()) if event.code == EVENT_SCHEDULER_SHUTDOWN: - logger.info(f'EVENT_SCHEDULER_SHUTDOWN: {event}') + logging.warning(f'EVENT_SCHEDULER_SHUTDOWN: {event}') Notify.make_notify('schedule', '1', '调度器已关闭', '调度器意外关闭,你可以在github上提交issue') elif event.code == EVENT_JOB_MAX_INSTANCES: - logger.info(f'EVENT_JOB_MAX_INSTANCES: {event}') + logging.warning(f'EVENT_JOB_MAX_INSTANCES: {event}') send_fail_notify(obj, '达到调度实例上限,一般为上个周期的执行任务还未结束,请增加调度间隔或减少任务执行耗时') elif event.code == EVENT_JOB_ERROR: - logger.info(f'EVENT_JOB_ERROR: job_id {event.job_id} exception: {event.exception}') + logging.warning(f'EVENT_JOB_ERROR: job_id {event.job_id} exception: {event.exception}') send_fail_notify(obj, f'执行异常:{event.exception}') elif event.code == EVENT_JOB_EXECUTED: if event.retval: @@ -110,7 +108,7 @@ class Scheduler: rds_cli = get_redis_connection() self._init() rds_cli.delete(settings.SCHEDULE_KEY) - logger.info('Running scheduler') + logging.warning('Running scheduler') while True: _, data = rds_cli.brpop(settings.SCHEDULE_KEY) task = AttrDict(json.loads(data))