Limpeza de registros do Identity Server

Sep 15 2020

Existe alguma maneira de limpar os logs do Sitecore 9.3 Identity Server?

Procurei por configuração de log, mas não encontrei nenhuma. Desejo atualizar a configuração para que ele exclua automaticamente os logs com mais de 10 dias.

Respostas

2 SuryaNarayan Sep 29 2020 at 19:37

Identity Server usa Serilog (https://github.com/serilog/serilog) para gravar logs e um único coletor de arquivos é configurado por padrão.

Que retém 31 arquivos (por um mês) por padrão. Se você quiser reter apenas 10 dias de registro, passe o retainedFileCountLimitargumento com o valor definido para 10 <IS Siteroot>\sitecorehost.xmlconforme mostrado abaixo

Referências -

  1. https://doc.sitecore.com/developers/91/sitecore-experience-manager/en/logging.html
  2. https://github.com/serilog/serilog-sinks-file#limits
3 SuryaNarayan Sep 21 2020 at 16:00

Se você quiser fazer no nível Sitecore apenas, poderá adicionar entrada para a pasta de log IdentityServer no <agent type="Sitecore.Tasks.CleanupAgent"site do CM, mas certifique-se de conceder acesso de exclusão ao usuário AppPool IIS, por exemploIIS AppPool\CMSiteAppPoolUser

<remove folder="C:\inetpub\wwwroot\sc93identityserver.dev.local\logs" pattern="*.*" maxAge="10.00:00:00"/>

1 Anton Sep 15 2020 at 21:41

Eu acho que isso não deve ser feito no nível Sitecore.

Eu faço a coisa semelhante por script PowerShell agendado. Para o seu caso, este script Powershell deve fazer o trabalho:

$old = 10 $folder = 'your path'
Get-ChildItem $folder | Where-Object {-not $_.PSIsContainer -and $now.Subtract($_.CreationTime).Days -gt $old } | ForEach-Object {Remove-Item $_.FullName -Confirm:$false -Force -Recurse}

Em seguida, você precisa adicionar a execução desse script ao agendador do Windows se trabalhar com hospedagem local ou usar WebJobs se usar Azure PaaS.