Articles

The Core Technologies Blog

Un service Windows, conçu pour fonctionner « sans tête » et sans surveillance en arrière-plan, ne peut pas facilement employer des fenêtres popup conventionnelles pour signaler ses activités car un utilisateur peut même ne pas être connecté. Au lieu de cela, un service est encouragé à envoyer les communications importantes au journal des événements de Windows – un utilitaire d’administration qui collecte et stocke les messages et les événements. Une fois enregistrés, ces messages peuvent être très utiles pour résoudre les problèmes, par exemple lorsqu’un service s’arrête de manière inattendue ou lorsqu’il ne parvient pas à démarrer du tout.

Voir les événements des services Windows

Utilisez l’Observateur d’événements de Microsoft pour voir les messages écrits dans le journal des événements. Démarrez l’application en cliquant sur le bouton Démarrer et en tapant Event Viewer, ou à partir du Panneau de configuration (recherchez-le par son nom). La fenêtre quelque peu encombrée devrait s’afficher après quelques secondes :

Event Viewer

La partie gauche présente une arborescence regroupant les différents journaux capturés sur votre machine. Les événements provenant des services Windows (et des autres applications exécutées sur votre PC) sont classés sous Journaux Windows > Application. Naviguez vers cette section pour charger les événements au centre de la fenêtre, avec la liste entière en haut et les détails de l’événement mis en évidence en dessous :

Event Viewer - Application Log

Les messages de votre service Windows auront le nom d’affichage du service dans la colonne Source.

Composants importants d’un événement

L’observateur d’événements affiche plus de 10 informations associées à chaque événement, notamment :

  • Niveau – Quelle est l’importance de cet événement ?

    Chaque événement est classé dans l’une des trois catégories suivantes :

    Information : Un événement informatif mais sans importance. Vous verrez probablement beaucoup de ceux-ci, et ils peuvent être ignorés en toute sécurité, sauf si vous creusez dans un problème spécifique d’une application ou d’un service. Avertissement : Un événement modérément important. Ceux-ci ne signifient pas nécessairement un échec, et votre logiciel va probablement boiter, mais ils devraient être examinés régulièrement pour voir si tout ce qui est mentionné peut être résolu. Erreur : Indique un problème ou une défaillance critique qui peut mériter votre attention immédiate!

  • Date et heure – Quand cet événement s’est-il produit?
  • Source – Quelle application a signalé cet événement?

    Comme mentionné précédemment, un événement écrit par un service Windows contiendra le nom d’affichage du service comme Source.

  • Description – Ce qui s’est passé?

    La description complète affichée bien en vue dans le volet inférieur fournira (espérons-le) les détails pertinents de l’événement.

Par exemple, cet événement d’information provient du service de détection des services interactifs (« UI0Detect ») signalant que le Bloc-notes s’affiche dans la session 0:

Interactive Services Detection Service Event

Visualisation des événements concernant les services Windows

Alors que le journal des applications garde la trace des événements d’un service en cours d’exécution, la zone Système des journaux Windows > enregistre lorsque les services sont démarrés, arrêtés, plantent ou ne démarrent pas. Recherchez les événements dont la source est définie sur Service Control Manager (SCM). Par exemple, voici le SCM qui nous indique que le service Windows Print Spooler s’est écrasé :

Event Viewer System Event

Voir les événements de AlwaysUp et Service Protector

AlwaysUp et Service Protector écrivent tous deux des messages dans la section Application des journaux d’événements (Windows Logs > Application).

Pour AlwaysUp, les événements de votre application nommée « Mon application » seront enregistrés avec la Source définie sur Mon application (gérée par AlwaysUpService). La page Messages du journal des événements répertorie et explique les événements signalés.