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

Setting Log Handler Formatter

Ouverte
#189 0 commentaires 1 réaction 1 personne assignée Réclamée par @ericzbeard Voir sur GitHub
enhancement investigating p2
Langage dominant
Python
Étoiles
107
Forks
46
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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?

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.