aws-cloudformation / aws-cloudformation/cloudformation-cli-python-plugin
Setting Log Handler Formatter
- 主要言語
- Python
- スター
- 107
- フォーク
- 46
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
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?
コントリビューションガイド
評価
この issue はまだ評価されていません。