You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Use a mature logger to increase errors visibility
1
+
# Utilisez un outil de journalisation mature pour augmenter la visibilité des erreurs
2
2
3
-
### One Paragraph Explainer
3
+
### Un paragraphe d'explication
4
4
5
-
We all love console.log but obviously, a reputable and persistent logger like [Winston][winston] (highly popular) or[Pino][pino] (the new kid in town which is focused on performance) is mandatory for serious projects. A set of practices and tools will help to reason about errors much quicker – (1) log frequently using different levels (debug, info, error), (2) when logging, provide contextual information as JSON objects, see example below. (3) Watch and filter logs using a log querying API (built-in in most loggers) or a log viewer software. (4) Expose and curate log statement for the operation team using operational intelligence tools like Splunk.
5
+
Nous aimons tous console.log mais de toute évidence, un outil de journalisation réputé et persistant comme [Winston][winston] (très populaire) ou[Pino][pino] (le nouveau gamin de la ville qui se concentre sur la performance) est obligatoire pour les projets sérieux. Un ensemble de pratiques et d'outils aidera à comprendre les erreurs beaucoup plus rapidement - (1) journalisez fréquemment en utilisant différents niveaux (débogage, informations, erreur), (2) lors de la journalisation, fournissez des informations contextuelles sous forme d'objets JSON, voir l'exemple ci-dessous. (3) Regardez et filtrez les journaux à l'aide d'une API d'interrogation des journaux (intégrée dans la plupart des enregistreurs) ou d'un logiciel de visualisation des journaux. (4) Exposer et conserver le journal de bord pour l'équipe d'exploitation à l'aide d'outils d'intelligence opérationnelle comme Splunk.
6
6
7
7
[winston]: https://www.npmjs.com/package/winston
8
8
[pino]: https://www.npmjs.com/package/pino
9
9
10
-
### Code Example – Winston Logger in action
10
+
### Exemple de code - l'outil de journalisation Winston en action
11
11
12
12
```javascript
13
-
//your centralized logger object
13
+
//votre objet de journalisation centralisé
14
14
constlogger=newwinston.Logger({
15
15
level:'info',
16
16
transports: [
17
17
new (winston.transports.Console)()
18
18
]
19
19
});
20
20
21
-
//custom code somewhere using the logger
22
-
logger.log('info', 'Test Log Message with some parameter %s', 'some parameter', { anything:'This is metadata' });
21
+
// code personnalisé quelque part à l'aide de l'outil de journalisation
22
+
logger.log('info', 'Message du journal de test avec un paramètre %s', 'un paramètre', { anything:'Ce sont des métadonnées' });
23
23
```
24
24
25
-
### Code Example – Querying the log folder (searching for entries)
25
+
### Exemple de code - Interrogation du répertoire du journal (recherche d'entrées)
26
26
27
27
```javascript
28
28
constoptions= {
@@ -34,17 +34,17 @@ const options = {
34
34
fields: ['message']
35
35
};
36
36
37
-
//Find items logged between today and yesterday.
37
+
//Recherchez les éléments enregistrés entre aujourd'hui et hier.
38
38
winston.query(options, (err, results) => {
39
-
//execute callback with results
39
+
//exécute la fonction de rappel avec results
40
40
});
41
41
```
42
42
43
-
### Blog Quote: "Logger Requirements"
43
+
### Citation de blog : « Exigences d'un outil de journalisation »
44
44
45
-
From the blog Strong Loop
45
+
Extrait du blog de Strong Loop
46
46
47
-
> Lets identify a few requirements (for a logger):
48
-
1.Timestamp each log line. This one is pretty self-explanatory – you should be able to tell when each log entry occurred.
49
-
2.Logging format should be easily digestible by humans as well as machines.
50
-
3.Allows for multiple configurable destination streams. For example, you might be writing trace logs to one file but when an error is encountered, write to the same file, then into error file and send an email at the same time…
47
+
> Permet d'identifier quelques exigences (pour un outil de journalisation) :
48
+
1.Chaque ligne du journal est horodatée. Celle-ci est assez explicite - vous devriez pouvoir dire quand chaque entrée du journal s'est produite.
49
+
2.Le format d'enregistrement doit être facilement assimilable par les humains ainsi que par les machines.
50
+
3.Permet plusieurs flux de destination configurables. Par exemple, vous pouvez écrire des journaux de trace dans un fichier, mais lorsqu'une erreur se produit, cela écrit dans le même fichier, puis dans le fichier d'erreur et envoi un e-mail en même temps…
0 commit comments