aws-cloudformation / aws-cloudformation/cloudformation-cli-python-plugin

Setting Log Handler Formatter

Offen
#189 0 Kommentare 1 Reaktion 1 zugewiesene Person Beansprucht von @ericzbeard Auf GitHub ansehen
enhancement investigating p2
Vorherrschende Sprache
Python
Sterne
107
Forks
46
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I'd like to have logs formatted using [ecs_logging](https://www.elastic.co/guide/en/ecs-logging/python/current/installation.html#logging) and noticed adding a handler to my app does nothing to change the log format in the CloudWatch LogGroup.

This for example has no impact to log format:
```
LOGGER = logging.getLogger(__package__)
LOGGER.setLevel(level=logging.INFO)
handler = logging.StreamHandler()
handler.setFormatter(ecs_logging.StdlibFormatter())
LOGGER.addHandler(handler)
```

I also tried brute forcing the formatter with no luck:
```
def set_formatter():
for logger in logging.root.manager.loggerDict.values():
if isinstance(logger, logging.PlaceHolder):
continue

if logger.hasHandlers():
for handler in logger.handlers:
handler.setFormatter(ecs_logging.StdlibFormatter())

@hook.handler(HookInvocationPoint.CREATE_PRE_PROVISION)
def pre_create_handler(
session: Optional[SessionProxy],
request: BaseHookHandlerRequest,
callback_context: MutableMapping[str, Any],
type_configuration: TypeConfigurationModel,
) -> ProgressEvent:
set_formatter()
LOGGER.info(jsonify_hook_context(request=request))
return ProgressEvent(status=OperationStatus.SUCCESS)
```

Is there a way to set the format for log output using this library?

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.