aws / aws/sagemaker-python-sdk

Library logs to stdout on import

Ouverte
#4,387 1 commentaire 2 réactions 1 personne assignée Réclamée par @nargokul Voir sur GitHub
component: debugger component: pysdk-team type: bug
Langage dominant
Python
Étoiles
2.3k
Forks
1.3k
Merge moyen
1 j 22 h
PR mergées (30 j)
35

Description

**Describe the bug**

Logging to stdout is an undesirable default for a library, especially since tools that use the library will want to control what is written to stdout. For example, imagine a command line program that fetches records from FeatureStore or metadata about training runs and writes the data to stdout so that it can be parsed by other tools like `grep` or `jq` or `awk`.

This is most likely caused by [this line](https://github.com/aws/sagemaker-python-sdk/blob/f60dd3b3710a30f56a19552c1d59a063802a4e62/src/sagemaker/config/config_utils.py#L42).

**To reproduce**

```
import sagemaker
```
This writes to `stdout`:
```
>>> import sagemaker
sagemaker.config INFO - Not applying SDK defaults from location: /etc/xdg/sagemaker/config.yaml
sagemaker.config INFO - Not applying SDK defaults from location: /home/username/.config/sagemaker/config.yaml
```

**Expected behavior**
I would expect this to be written to `stderr` so that it doesn't interfere with regular program output.

**Screenshots or logs**
If applicable, add screenshots or logs to help explain your problem.

**System information**
A description of your system. Please provide:
- **SageMaker Python SDK version**: `'2.198.0'`
- **Framework name (eg. PyTorch) or algorithm (eg. KMeans)**: N/A
- **Framework version**: N/A
- **Python version**: `3.8`
- **CPU or GPU**: `Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz`
- **Custom Docker image (Y/N)**: N

**Additional context**
Add any other context about the problem here.

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.