Identity Server günlükleri temizleme
Sitecore 9.3 Identity Server için günlükleri temizlemenin herhangi bir yolu var mı?
Günlük yapılandırmasını aradım ancak bulamadım. Yapılandırmayı 10 günden eski günlükleri otomatik olarak silecek şekilde güncellemek istiyorum.
Yanıtlar
Identity Server, Serilog (https://github.com/serilog/serilog) günlükleri yazmak için ve varsayılan olarak tek bir dosya havuzu yapılandırılır.
Varsayılan olarak 31 dosya (bir ay boyunca) saklar. Yalnızca 10 günlük günlük tutmak istiyorsanız, aşağıda gösterildiği gibi retainedFileCountLimit10 inç değerine ayarlanmış bağımsız değişkeni <IS Siteroot>\sitecorehost.xmlgeçirin
Referanslar -
- https://doc.sitecore.com/developers/91/sitecore-experience-manager/en/logging.html
- https://github.com/serilog/serilog-sinks-file#limits
Yalnızca Sitecore düzeyinde yapmak istiyorsanız <agent type="Sitecore.Tasks.CleanupAgent", CM web sitesinde IdentityServer günlük klasörü için giriş ekleyebilirsiniz ancak IIS AppPool kullanıcısına silme erişimi verdiğinizden emin olun, örn. -IIS AppPool\CMSiteAppPoolUser
<remove folder="C:\inetpub\wwwroot\sc93identityserver.dev.local\logs" pattern="*.*" maxAge="10.00:00:00"/>
Sitecore seviyesinde yapılmaması gerektiğini düşünüyorum.
Benzer şeyi planlanmış PowerShell betiği ile yapıyorum. Durumunuz için bu Powershell betiği şu işi yapmalıdır:
$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}
Ardından, şirket içi barındırma ile çalışıyorsanız veya Azure PaaS kullanıyorsanız WebJobs kullanıyorsanız, bu komut dosyasının yürütülmesini Windows planlayıcıya eklemeniz gerekir .