No Windows 7 (Home Premium 64 Bit), são gravadas centenas de megabytes de log em que ninguém nunca se importará de ler C:\Windows\Logs\CBS\CBS.log
. Dê uma olhada, estamos contando as linhas aqui:
$ 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
Resumindo, o arquivo de log do CBS (CBS é a abreviação de Component Based Services , também conhecido como Trusted Installer , consulte Noções básicas sobre serviço baseado em componentes , abril de 2008, Microsoft Technet ) no momento ocupa 700 MB, 200 dos quais escritos nos últimos 30 minutos , com a primeira entrada decorrente de 9 dias atrás.
No total, são quase 3 milhões de entradas e quase a totalidade na Info do nível de log . Lembre-se, este é um formato de arquivo de log legível por humanos, aparentemente não para processamento de máquina. Não sei sobre você, mas a noção de que eu deveria me preocupar em levar em conta 3 milhões de linhas de informações por padrão me parece um pouco absurda.
Eu quero que isso pare porque a atividade do disco e da CPU não serve a nenhum outro propósito, além de tornar desnecessariamente lento o sistema .
Então: como faço para definir o nível de log como Aviso ou Erro ? Onde isso está documentado?
Mais: Imagine que, em vez de percorrer centenas de megas de informações (por pouco mais de uma semana), você manteria apenas as ~ 100 linhas de erro ? Isso não faria sentido e realmente forneceria pistas na solução de problemas? Você ainda teria a opção de ativar as Informações caso ocorra um problema de instalação não óbvio.
Atualizar:
Lendo os comentários, parece que não formulei minha pergunta com clareza suficiente. Estou não perguntar como filtrar o arquivo de log humungous usando utilitários de linha de comando - porque eu já sei como fazer isso. Também não estou perguntando como lidar com os arquivos de log no caminho da rotação de logs - porque o Windows fará isso sozinho quando o arquivo atingir um limite desconhecido (embora você encontre pessoas perguntando por que o arquivo atinge 20 GB ). O que estou perguntando é simplesmente como impedir que esse log hectomegabyte louco ocorra em primeiro lugar, provavelmente definindo o nível de log para algo mais alto que Info. Não consigo encontrar a documentação sobre como definir o nível do log, possivelmente porque ele não existe publicamente. Mas deve haver uma maneira, pois qualquer software decente fornece uma maneira de definir o nível de log.
Atualização 2:
Veja a resposta dada. A configuração do registro parece entrar em vigor e encerrar o log completamente. O que é bom e um padrão muito melhor do que o atual. Para fazer a edição do registro, você precisa corrigir as permissões - consulte o apêndice.
Apêndice: Permissões na Component Based Servicing
Chave do Registro
Quando você tenta definir EnableLog
a 0
, você provavelmente vai perceber que você não tem acesso de gravação para HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing
e coisas abaixo dele. Você precisa acessar "Editar» Permissões " regedit
e se apropriar antes de poder fazer edições:
Respostas:
Como resposta parcial, eis a configuração para interromper o registro: no registro, navegue até
e definir
EnableLog 0
. Fonte: https://technet.microsoft.com/en-us/library/cc732334%28v=ws.10%29.aspx#CBSfonte
Component Based Servicing
chave; Por padrão, apenas o TrustedInstaller pode gravar nele e em seus subjacentes. Veja a captura de tela anexada à minha pergunta.O registro CBS também é preenchido pelo cleanmgr com aproximadamente 150-200Mb de dados, mesmo limpando quase 'nada', enchendo assim o disco em vez da limpeza.
Descobri que o registro do CBS pode ser limpo após a interrupção do serviço TrustedInstaller. Reiniciar o Windows Module Installer depois iniciará o serviço novamente. Lembre-se de que o log é usado pela Microsoft em alguns programas de depuração.
fonte