working on cleaning up the logs

This commit is contained in:
2021-01-04 17:20:03 -06:00
parent df7a750794
commit d82aa99c40
3 changed files with 87 additions and 17 deletions

View File

@ -61,15 +61,45 @@ app.config.from_mapping(
app.config['HUB_URL'] = os.environ.get("HUB_URL", default=app.config['BASE_URL'])
class SetLogLevelToDebugForHeartbeatRelatedMessagesFilter(logging.Filter):
def isHeartbeatRelatedString(self, thing):
# thing_string = "<error>"
is_in_string = False
try:
thing_string = "%s" % thing
is_in_string = 'heartbeat-task' in thing_string or 'hub/heartbeat' in thing_string or 'spoke/heartbeat' in thing_string
except:
pass
# self.warning("isHeartbeatRelatedString(%s): %s", thing_string, is_in_string )
return is_in_string
def filter(self, record):
if app.config['LOG_LEVEL'] == "DEBUG":
return True
if self.isHeartbeatRelatedString(record.msg):
return False
for arg in record.args:
if self.isHeartbeatRelatedString(arg):
return False
return True
logging_dict_config({
'version': 1,
'formatters': {'default': {
'format': '[%(asctime)s] %(levelname)s in %(module)s: %(message)s',
}},
'filters': {
'setLogLevelToDebugForHeartbeatRelatedMessages': {
'()': SetLogLevelToDebugForHeartbeatRelatedMessagesFilter,
}
},
'handlers': {'wsgi': {
'class': 'logging.StreamHandler',
'stream': 'ext://flask.logging.wsgi_errors_stream',
'formatter': 'default'
'formatter': 'default',
'filters': ['setLogLevelToDebugForHeartbeatRelatedMessages']
}},
'root': {
'level': app.config['LOG_LEVEL'],
@ -77,6 +107,45 @@ logging_dict_config({
}
})
# class LoggerWhichLogsHeartbeatInfoMessagesAtDebugLevel(logging.Logger):
# def isHeartbeatRelatedString(self, thing):
# # thing_string = "<error>"
# is_in_string = False
# try:
# thing_string = "%s" % thing
# is_in_string = 'heartbeat-task' in thing_string or 'hub/heartbeat' in thing_string or 'spoke/heartbeat' in thing_string
# except:
# pass
# # self.warning("isHeartbeatRelatedString(%s): %s", thing_string, is_in_string )
# return is_in_string
# def info(self, msg, *args, **kwargs):
# log_level_to_use = logging.INFO
# if self.isHeartbeatRelatedString(msg):
# log_level_to_use = logging.DEBUG
# for arg in args:
# if self.isHeartbeatRelatedString(arg):
# log_level_to_use = logging.DEBUG
# self._log(log_level_to_use, msg, args, **kwargs)
# def monkeyPatchLoggerToLogHeartbeatInfoMessagesAtDebugLevel(name: str):
# logger = logging.getLogger(name)
# original_info = logger.info
# logger.__class__ = LoggerWhichLogsHeartbeatInfoMessagesAtDebugLevel
# logger.unfiltered_info = original_info
# monkeyPatchLoggerToLogHeartbeatInfoMessagesAtDebugLevel('flask')
# monkeyPatchLoggerToLogHeartbeatInfoMessagesAtDebugLevel('werkzeug')
# # monkeyPatchLoggerToLogHeartbeatInfoMessagesAtDebugLevel('apscheduler.scheduler')
# monkeyPatchLoggerToLogHeartbeatInfoMessagesAtDebugLevel('apscheduler.executors')
# monkeyPatchLoggerToLogHeartbeatInfoMessagesAtDebugLevel('apscheduler.executors.default')
# # monkeyPatchLoggerToLogHeartbeatInfoMessagesAtDebugLevel('apscheduler.jobstores.default')
#monkeyPatchLoggerToLogInfoMessagesAtDebugLevel('apscheduler.executors.asyncio')
# app.logger.critical("critical")
# app.logger.error("error")
# app.logger.warning("warning")
@ -102,7 +171,7 @@ if app.config['HUB_MODE_ENABLED']:
heartbeat_task_url = f"{app.config['HUB_URL']}/hub/heartbeat-task"
heartbeat_task_headers = {'Authorization': f"Bearer {app.config['HUB_TOKEN']}"}
heartbeat_task = lambda: requests.post(heartbeat_task_url, headers=heartbeat_task_headers)
scheduler.add_job(name="heartbeat_task", func=heartbeat_task, trigger="interval", seconds=5)
scheduler.add_job(name="heartbeat-task", func=heartbeat_task, trigger="interval", seconds=5)
scheduler.start()
atexit.register(lambda: scheduler.shutdown())
@ -183,4 +252,5 @@ def url_for_with_cache_bust(endpoint, **values):
return url_for(endpoint, **values)