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