Limpieza de registros de Identity Server

Sep 15 2020

¿Hay alguna forma de limpiar los registros de Sitecore 9.3 Identity Server?

Busqué la configuración de registro pero no encontré ninguna. Quiero actualizar la configuración para que elimine automáticamente los registros de más de 10 días.

Respuestas

2 SuryaNarayan Sep 29 2020 at 19:37

Identity Server utiliza Serilog (https://github.com/serilog/serilog) para escribir registros y un único receptor de archivos está configurado de forma predeterminada.

Que retiene 31 archivos (durante un mes) de forma predeterminada. Si desea conservar solo el registro de 10 días, pase el retainedFileCountLimitargumento con el valor establecido en 10 <IS Siteroot>\sitecorehost.xmlcomo se muestra a continuación

Referencias -

  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

Si desea hacerlo solo a nivel de Sitecore, puede agregar una entrada para la carpeta de registro de IdentityServer en el <agent type="Sitecore.Tasks.CleanupAgent"sitio web de CM, pero asegúrese de otorgar acceso de eliminación al usuario de IIS AppPool, por ejemplo:IIS 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

Creo que no debería hacerse a nivel de Sitecore.

Hago lo similar mediante el script de PowerShell programado. Para su caso, este script de Powershell debería hacer el trabajo:

$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}

Luego, debe agregar la ejecución de este script al programador de Windows si trabaja con alojamiento local o usa WebJobs si usa Azure PaaS.