Restreindre la verbosité de Windows CBS.log, définir le niveau de journalisation, arrêter la folie des informations en hectomégaoctets

18

Sur Windows 7 (Home Premium 64 bits), des centaines de mégaoctets de journalisation que personne ne voudra jamais lire sont écrits C:\Windows\Logs\CBS\CBS.log. Jetez un oeil, nous comptons les lignes ici:

$ dir C:\Windows\Logs\CBS\CBS.log
03.10.2015  16:21       726.097.704 CBS.log
$ findstr /b 2015- C:\Windows\Logs\CBS\CBS.log | find /c ", Info"
2990118
$ findstr /b 2015- C:\Windows\Logs\CBS\CBS.log | find /c /v ", Info"
102

En termes simples, le fichier journal CBS (CBS est l'abréviation de Component Based Services , alias Trusted Installer , voir Understanding Component-Based Servicing , avril 2008, Microsoft Technet ) occupe actuellement 700 Mo, dont 200 écrits au cours des 30 dernières minutes , la première entrée remontant à 9 jours.

Au total, cela représente près de 3 millions d'entrées, et la quasi-totalité de celui-ci sur Loglevel Info . Attention, il s'agit d'un format de fichier journal lisible par l'homme, apparemment pas pour le traitement de la machine. Je ne sais pas pour vous, mais l'idée que je devrais prendre la peine de prendre en compte 3 millions de lignes d' Info par défaut me semble à la limite de l'absurde.

Je veux que cela s'arrête parce que l' activité du disque et du processeur ne sert à rien d'autre que de ralentir inutilement le système .

Donc: Comment définir le niveau de journalisation sur Avertissement ou Erreur ? Où est-ce documenté?

De plus: imaginez qu'au lieu de parcourir des centaines de mégas d' informations (pendant un peu plus d'une semaine), vous ne conserviez que les ~ 100 lignes d' erreur ? Cela n'aurait-il pas simplement un sens et fournirait-il des indices dans le dépannage? Vous auriez alors toujours la possibilité d'activer Info en cas de problème d'installation non évident.

Mise à jour:

En lisant les commentaires, il semble que je n'ai pas formulé ma question avec suffisamment de clarté. Je ne demande pas comment filtrer le gigantesque fichier journal à l'aide des utilitaires de ligne de commande, car je sais déjà comment procéder. Je ne demande pas non plus comment gérer les fichiers journaux dans le sens de la rotation des journaux - car Windows le fera de lui-même lorsque le fichier atteindra un seuil inconnu (bien que vous trouverez des gens qui demandent pourquoi le fichier atteint 20 concerts ). Ce que je demande, c'est simplement comment empêcher cette folle journalisation d'hectomégaoctets de se produire en premier lieu, probablement en définissant le niveau de journalisation à quelque chose de plus élevé qu'Info. Je ne trouve tout simplement pas la documentation sur la façon de définir le niveau de journalisation, peut-être parce qu'il n'existe pas publiquement. Mais il doit y avoir un moyen, car tout logiciel décent fournit un moyen de définir le niveau de journalisation.

Mise à jour 2:

Voir la réponse donnée. Le paramètre de registre semble prendre effet et fermer complètement le journal. Ce qui est correct et un bien meilleur défaut que l'actuel. Pour modifier le registre, vous devez corriger les autorisations - voir l'annexe.

Annexe: autorisations sur la Component Based Servicingclé de registre

Lorsque vous essayez de définir EnableLogsur 0, vous remarquerez probablement que vous n'avez pas accès en écriture à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicinget en dessous. Vous devez aller dans "Modifier» Autorisations " regeditpuis vous en approprier avant d'être autorisé à apporter des modifications:

Prenez possession et accordez-vous la permission d'écrire

Lumi
la source
3
+5 "folie info hectomegabyte"
Moab
2
Le journal CBS peut être filtré à partir de l'invite de commande, voici un exemple de celui que j'utilise après avoir exécuté le vérificateur de fichiers système, lorsqu'il s'exécute, il génère les informations SFC pertinentes dans un fichier texte sur mon bureau. "findstr / c:" [SR] "% windir% \ Logs \ CBS \ CBS.log>% userprofile% \ Desktop \ sfcdetails.tx"
Moab
@Tetsujin merci, je me demandais s'il y avait d'autres commandes findstr pour d'autres journaux mais google n'a rien trouvé.
Moab
2
Estimé @Tetsujin, veuillez noter que le niveau de journalisation est uniquement Info , pas Debug , ce qui impliquerait une verbosité accrue. Voir l'article Technet Comment activer la journalisation CBS verbeuse , novembre 2010, par joscon pour découvrir que vous pouvez rendre la journalisation encore plus verbeuse. Joscon déclare dans un commentaire que «… la façon dont son ensemble par défaut est le moins détaillé que le journal obtienne.« C'est inacceptable. C'est le genre de chose qui ralentit inutilement votre système. Pas ce que veulent les utilisateurs. Peut-être qu'une modification binaire fera l'affaire.
Lumi
Sur Windows Server 2008, cela provoquera éventuellement le blocage de TrustedInstaller.exe toutes les 15 minutes. Ou du moins, je crois que c'est la cause; Je fais le suivi depuis un certain temps maintenant. Ma tentative actuelle de contournement consiste à créer un journal CBS.log vide et à supprimer toutes les autorisations, en refusant l'accès. N'ont pas encore confirmé si cela fonctionne, car il faut un certain temps de disponibilité avant qu'il ne se produise.
theultramage

Réponses:

11

En guise de réponse partielle, voici le paramètre pour arrêter complètement la journalisation: dans le registre, accédez à

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing]

et définir EnableLog 0. Source: https://technet.microsoft.com/en-us/library/cc732334%28v=ws.10%29.aspx#CBS

user1016274
la source
1
Merci, cela semble fonctionner. Après avoir effectué la modification, j'ai arrêté le service TrustedInstaller, puis installé une mise à jour (KB3078667). Pas un seul personnage n'a été enregistré, oui! Pour effectuer la modification, vous devez vous approprier la Component Based Servicingclé; par défaut, seul TrustedInstaller peut écrire dessus et ses subordonnés. Voir la capture d'écran jointe à ma question.
Lumi
TrustedInstaller se trouve dans Panneau de configuration> Outils d'administration> Services sous le nom du programme d' installation des modules Windows (win7).
Ogmios
2

Le journal CBS est également rempli par cleanmgr avec environ 150-200 Mo de données même en nettoyant presque «rien», remplissant ainsi votre disque à la place du nettoyage.

J'ai trouvé que le journal CBS peut être effacé après l'arrêt du service TrustedInstaller, le redémarrage du programme d'installation du module Windows redémarrera ensuite le service. Gardez à l'esprit que le journal est utilisé par Microsoft dans certains programmes de débogage.

user679857
la source