dockerflow.logging.JsonLogFormatter is weird about %s style logging
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 50/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- À l'abandon
- Stack technique
- python
- Domaine
- observability
Piste de recherche
The formatter is dockerflow.logging.JsonLogFormatter, so start in the dockerflow/logging.py module and find where it builds the msg field from the log record. The bug appears when the %s argument is not a string, such as a dict, so check whether the formatter uses the raw record.msg instead of the formatted message. Done means logger.info("Hi %s", {'name': 'Peter'}) puts the rendered text in Fields.msg.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I have this config:
# Logging
LOGGING_USE_JSON = values.BooleanValue(True)
LOGGING_DEFAULT_LEVEL = values.Value("INFO")
@property
def LOGGING(self):
return {
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"json": {
"()": "dockerflow.logging.JsonLogFormatter",
"logger_name": "buildhub",
},
"verbose": {"format": "%(levelname)s %(asctime)s %(name)s %(message)s"},
},
"handlers": {
"console": {
"level": self.LOGGING_DEFAULT_LEVEL,
"class": "logging.StreamHandler",
"formatter": ("json" if self.LOGGING_USE_JSON else "verbose"),
},
"sentry": {
"level": "ERROR",
"class": (
"raven.contrib.django.raven_compat.handlers" ".SentryHandler"
),
},
"null": {"class": "logging.NullHandler"},
},
"root": {"level": "INFO", "handlers": ["sentry", "console"]},
...
When I do:
In [1]: import logging
In [2]: logger = logging.getLogger("myproject")
In [3]: logger.info("Hi!")
{"Timestamp": 1541787363833421056, "Type": "myproject", "Logger": "buildhub", "Hostname": "MacBook-Pro-131.local", "EnvVersion": "2.0", "Severity": 6, "Pid": 68488, "Fields": {"msg": "Hi!"}}
In [4]: logger.info("Hi %s", "peter")
{"Timestamp": 1541787379742094080, "Type": "myproject", "Logger": "buildhub", "Hostname": "MacBook-Pro-131.local", "EnvVersion": "2.0", "Severity": 6, "Pid": 68488, "Fields": {"msg": "Hi peter"}}
In [5]: logger.info("Hi %s", {'name': 'Peter'})
{"Timestamp": 1541787416647823104, "Type": "myproject", "Logger": "buildhub", "Hostname": "MacBook-Pro-131.local", "EnvVersion": "2.0", "Severity": 6, "Pid": 68488, "Fields": {}}
Notice that when the param to logger.debug(template, THIS) isn't a string the final "msg" becomes empty ("Fields": {}).
- Langage dominant
- Python
- Étoiles
- 41
- Forks
- 21
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
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 mozilla-services/python-dockerflow
-
Difficulté 3/5 Une demi-journée Accessibilité débutants 15/100
mozilla-services/python-dockerflow#119 · 1 commentaire ·
-
2023.8.0 distribution missingOuverte
Difficulté 2/5 Moins d'une heure Accessibilité débutants 15/100
mozilla-services/python-dockerflow#117 · 1 commentaire ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
mozilla-services/python-dockerflow#116 · 1 commentaire ·
-
Enhance core testsOuverte
Difficulté 3/5 Une demi-journée Accessibilité débutants 62/100
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 12/100
Toutes les issues de mozilla-services/python-dockerflow
Issues similaires
-
[Bug]: LangGraph Store sync put bypasses namespace validationPeut-être pris @ktz03 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
volcengine/OpenViking#6050 ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: Streamed /v1/chat/completions sends unredacted agent error text (keys) in the final chunkPeut-être pris @rodricksz4h5 l’a pris aujourd’hui. Ouvertearea/streaming comp/gateway P2 type/security
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
NousResearch/hermes-agent#138245 ·
Les mainteneurs répondent en général sous 1 jour
-
[oblt-aw][autodoc] Update user onboarding guide for mandatory trigger CODEOWNERS stepPeut-être pris @github-actions l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
Les mainteneurs répondent en général sous 1 jour
-
correction metadata
Difficulté 2/5 Moins d'une heure Accessibilité débutants 68/100
acl-org/acl-anthology#10378 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
cloudtrail_multi_region_enabled_logging_management_events fails when the advanced event selector has a custom namePeut-être pris @12YYCCYY16 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
prowler-cloud/prowler#13033 ·
Les mainteneurs répondent en général sous 1 jour