Skip to content

Commit c6e7be4

Browse files
committed
Change logging to match GitHub Actions messages
I've changed the logging format to match the format of Github Actions messages. This means that logging messages, which will only be emitted sparingly in production, will be added as annotations to the workflow to make them obvious to the end user. Note: logging.INFO level messages will get the label "debug", as Github Actions only has three levels: debug, warning, error.
1 parent 00b98cc commit c6e7be4

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

github_status_embed/log.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def __init__(self, *args, masked_values: typing.Sequence[str], **kwargs) -> None
1010
super().__init__(*args, **kwargs)
1111
self._masked_values = masked_values
1212

13-
def format(self, record: logging.LogRecord) -> None:
13+
def format(self, record: logging.LogRecord) -> str:
1414
"""Emit a logging record after masking certain values."""
1515
message = super().format(record)
1616
for masked_value in self._masked_values:
@@ -24,9 +24,14 @@ def setup_logging(level: int, masked_values: typing.Sequence[str]) -> None:
2424
root = logging.getLogger()
2525
root.setLevel(level)
2626

27+
logging.addLevelName(logging.DEBUG, 'debug')
28+
logging.addLevelName(logging.INFO, 'debug') # GitHub Actions does not have an "info" message
29+
logging.addLevelName(logging.WARNING, 'warning')
30+
logging.addLevelName(logging.ERROR, 'error')
31+
2732
handler = logging.StreamHandler(sys.stdout)
2833
formatter = MaskingFormatter(
29-
'%(asctime)s :: %(name)s :: %(levelname)s :: %(message)s',
34+
'::%(levelname)s::%(message)s',
3035
datefmt="%Y-%m-%d %H:%M:%S",
3136
masked_values=masked_values,
3237
)

0 commit comments

Comments
 (0)