Skip to content

Commit

Permalink
Add Slack functionality inside logger (#2395)
Browse files Browse the repository at this point in the history
* Add Slack functionality inside logger #698

* Add stacklevel=2 in the log calls

* Resolve confict

* Add stacklevel=2 in the log calls

* Add stacklevel=3 in the status() method
Add stacklevel as an argument of the methods verbose(), info() and 
error()

---------

Co-authored-by: fred <fred.gilles@free.fr>
Co-authored-by: Madison Swain-Bowden <bowdenm@spu.edu>
  • Loading branch information
3 people authored Jun 24, 2023
1 parent e131815 commit 9dcb4e3
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 12 deletions.
7 changes: 0 additions & 7 deletions ingestion_server/ingestion_server/indexer.py
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,6 @@ def point_alias(self, model_name: str, index_suffix: str, alias: str, **_):
if not alias_stat.is_alias:
# Alias is an index, this is fatal.
message = f"There is an index named `{alias}`, cannot proceed."
log.error(message)
slack.error(message)
return
elif alias_stat.is_alias and curr_index != dest_index:
Expand All @@ -386,7 +385,6 @@ def point_alias(self, model_name: str, index_suffix: str, alias: str, **_):
f"Migrated alias `{alias}` from index `{curr_index}` to "
f"index `{dest_index}` | _Next: delete old index_"
)
log.info(message)
slack.status(model_name, message)
else:
# Alias is already mapped.
Expand All @@ -398,7 +396,6 @@ def point_alias(self, model_name: str, index_suffix: str, alias: str, **_):
# Alias does not exist, create it.
self.es.indices.put_alias(index=dest_index, name=alias)
message = f"Created alias `{alias}` pointing to index `{dest_index}`."
log.info(message)
slack.status(model_name, message)

if self.progress is not None:
Expand Down Expand Up @@ -436,7 +433,6 @@ def delete_index(
f"Verify that the API does not use this alias and then use the "
f"`force_delete` parameter."
)
log.error(message)
slack.error(message)
return
target = target_stat.alt_names
Expand All @@ -449,20 +445,17 @@ def delete_index(
f"Index `{target}` is associated with aliases "
f"{target_stat.alt_names}, cannot delete. Delete aliases first."
)
log.error(message)
slack.error(message)
return

self.es.indices.delete(index=target)
message = f"Index `{target}` was deleted - data refresh complete! :tada:"
log.info(message)
slack.status(model_name, message)
else:
# Cannot delete as target does not exist.
if self.is_bad_request is not None:
self.is_bad_request.value = 1
message = f"Target `{target}` does not exist and cannot be deleted."
log.info(message)
slack.status(model_name, message)

if self.progress is not None:
Expand Down
11 changes: 7 additions & 4 deletions ingestion_server/ingestion_server/slack.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,18 @@ def _message(text: str, summary: str = None, level: Level = Level.INFO) -> None:
pass


def verbose(text: str, summary: str = None) -> None:
def verbose(text: str, summary: str = None, stacklevel: int = 2) -> None:
log.debug(text, stacklevel=stacklevel)
_message(text, summary, level=Level.VERBOSE)


def info(text: str, summary: str = None) -> None:
def info(text: str, summary: str = None, stacklevel: int = 2) -> None:
log.info(text, stacklevel=stacklevel)
_message(text, summary, level=Level.INFO)


def error(text: str, summary: str = None) -> None:
def error(text: str, summary: str = None, stacklevel: int = 2) -> None:
log.error(text, stacklevel=stacklevel)
_message(text, summary, level=Level.ERROR)


Expand All @@ -79,4 +82,4 @@ def status(model: str, text: str) -> None:
Model is required an all messages get prepended with the model.
"""
text = f"`{model}`: {text}"
info(text, None)
info(text, None, stacklevel=3)
1 change: 0 additions & 1 deletion ingestion_server/ingestion_server/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,6 @@ def promote(): # includes point alias
func(model, **kwargs) # Directly invoke indexer methods if no task function
except Exception as err:
exception_type = f"{err.__class__.__module__}.{err.__class__.__name__}"
logging.error(f"Error processing task `{action}` for `{model}`: {err}")
slack.error(
f":x_red: Error processing task `{action}` for `{model}` "
f"(`{exception_type}`): \n"
Expand Down

0 comments on commit 9dcb4e3

Please sign in to comment.