`JSON` attributes do not show up as valid json in event attributes
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par la méthode emit du handler et la construction de HTTPLogItem présentée dans le rapport, puis suivez la façon dont log_ctx est sérialisé via LogsApi.submit_log. Reproduisez l’exemple de logger.debug avec x_request_body et vérifiez que les attributs de l’événement soumis conservent des valeurs d’objet JSON valides au lieu d’être affichés sous forme de chaînes.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Describe the bug
A clear and concise description of what the bug is.
When a valid json is passed as value of a custom event atrribute, In logs it is show as a string and not a json object
To Reproduce
# in the handler
def emit(self, record):
env = os.getenv("APP_ENV", "local")
log_ctx: LogCtxDict = record.__dict__.get("log_ctx", {})
tags_dict = log_ctx.pop('tags', {})
tags = [f"{k}:{v}" for k, v in tags_dict.items()]
tags.append("env:{}".format(env))
tags_merged = ",".join(tags)
body = HTTPLog(
[
HTTPLogItem(
ddsource="python",
ddtags=tags_merged,
hostname="vv-anyscale-ray-aps1",
message=self.format(record),
service="vv-ap-thumbnails-v1-{}-service".format(env),
timestamp=str(datetime.fromtimestamp(record.created).astimezone().timestamp()),
level=record.levelname.lower(),
**record.__dict__.get("log_ctx", {})
)
]
)
try:
with ApiClient(self.dd_configuration) as api_client:
resp = LogsApi(api_client).submit_log(content_encoding=ContentEncoding.GZIP, body=body)
if "errors" in resp:
self.handleError(record)
except (Exception, ):
self.handleError(record)
logger.debug(
"Test debug log",
log_ctx={
"x_request_body": json.dumps({"clip_id": "66abc57369bbe0000782ef42"}),
}
)
Expected behavior
A clear and concise description of what you expected to happen.
The object should be consumed and shown as json,
Screenshots
If applicable, add screenshots to help explain your problem.
Environment and Versions (please complete the following information):
A clear and precise description of your setup:
$ poetry show datadog-api-client
name : datadog-api-client
version : 2.27.0
description : Collection of all Datadog Public endpoints
dependencies
- certifi *
- python-dateutil *
- typing-extensions >=4.0.0
- urllib3 >=1.15
for logs parsing default python pipleline is used
- Langage dominant
- Python
- Étoiles
- 166
- Forks
- 55
- Merge moyen
- 2 j 17 h
- PR mergées (30 j)
- 73
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de DataDog/datadog-api-client-python
-
stale
Difficulté 1/5 1-3 heures Accessibilité débutants 72/100
DataDog/datadog-api-client-python#3535 · 1 commentaire ·
-
kind/bug stale
Difficulté 3/5 1-2 jours Accessibilité débutants 66/100
DataDog/datadog-api-client-python#3717 · 3 commentaires ·
-
kind/bug stale
Difficulté 3/5 1-2 jours Accessibilité débutants 75/100
DataDog/datadog-api-client-python#3656 · 1 commentaire ·
-
kind/bug stale
Difficulté 3/5 1-2 jours Accessibilité débutants 38/100
DataDog/datadog-api-client-python#3120 · 1 commentaire ·
-
stale
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
DataDog/datadog-api-client-python#2986 · 1 commentaire ·
Toutes les issues de DataDog/datadog-api-client-python
Issues similaires
-
[Bug] reef-hermes tells me to resume with hermes --resume, which does not work from my shell Ouvertearea: harness bug status: needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Human-Agent-Society/reef#625 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 80/100
learningequality/kolibri#15351 · 2 commentaires ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Name consistency Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
eellak/triplestore#65 · 1 commentaire ·