loopbackio / loopbackio/loopback-next

Logging Extension Improvements

Ouverte
#5,464 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

feature
Langage dominant
TypeScript
Étoiles
5.1k
Forks
1.1k
Merge moyen
2 j 21 h
PR mergées (30 j)
27

Description

Suggestion

  • should include a global logger for use outside of the application so that we can make sure to catch and log exceptions for problems with the application boot-up. console.log won't cut it here as logs still need to be json structured and sent to an external logging service.

  • Http Access Logs should be json structured rather than putting the log in string format.

Use Cases

I'm deploying my application to Google App Engine and structure logs for both normal logs as well as error logs is an absolute must to correctly parse any problems.

Examples

Logging should be tightly integrated with the application. A global logger should be setup and passed into the application as part of the application initialisation (I suggest simply choosing winston by convention). The global logger can then be accessed by the migration scripts, and can also be used inside the main function for circumstances where the application doesn't boot.

The HTTP Access Logger should be a middleware that takes a callback with some for such as:

LogCallbackFn(logger: WinstonLogger, req: Request, res: Response)

This way the logger call can be customised.

Acceptance criteria

TBD - will be filled by the team.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par localiser le chemin d’initialisation de l’application, les scripts de migration, la fonction main et le middleware de journalisation des accès HTTP. Clarifiez avec l’équipe les critères d’acceptation manquants, puis définissez l’achèvement de sorte qu’un logger structuré global soit disponible pendant le démarrage et les migrations, avec en plus des journaux d’accès HTTP JSON personnalisables adaptés aux services externes.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
google-cloud, node.js, typescript
Domaine
api, backend, observability
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
20/100

Recevez les nouvelles issues par e-mail

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