Limpeza de registros do Identity Server
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
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 -
- https://doc.sitecore.com/developers/91/sitecore-experience-manager/en/logging.html
- https://github.com/serilog/serilog-sinks-file#limits
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"/>
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.