Identity Server günlükleri temizleme

Sep 15 2020

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

2 SuryaNarayan Sep 29 2020 at 19:37

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 -

  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

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"/>

1 Anton Sep 15 2020 at 21:41

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 .