forked from 3wordchant/capsul-flask
working on cleaning up the logs
This commit is contained in:
@ -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)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user