ToreAurstadIT.RollingSvcLogger
1.4.0
dotnet add package ToreAurstadIT.RollingSvcLogger --version 1.4.0
NuGet\Install-Package ToreAurstadIT.RollingSvcLogger -Version 1.4.0
<PackageReference Include="ToreAurstadIT.RollingSvcLogger" Version="1.4.0" />
paket add ToreAurstadIT.RollingSvcLogger --version 1.4.0
#r "nuget: ToreAurstadIT.RollingSvcLogger, 1.4.0"
// Install ToreAurstadIT.RollingSvcLogger as a Cake Addin #addin nuget:?package=ToreAurstadIT.RollingSvcLogger&version=1.4.0 // Install ToreAurstadIT.RollingSvcLogger as a Cake Tool #tool nuget:?package=ToreAurstadIT.RollingSvcLogger&version=1.4.0
ToreAurstadIT.Logger - RollingXmlWriterTraceListener
Build new releases with command:
nuget.exe pack -IncludeReferencedProjects -properties Configuration=Release
Denne løsningen inneholder en tilpasset logger for SVCLOG filer (.svclog) som viser svclogs.
Denne rullerer slik at filstørrelsen på hver aktive .svclog fil holdes nede. Eksempel på config setting er denne brukt i SomeAcme:
<system.diagnostics>
<sources>
<source name="System.IdentityModel" switchValue="Warning" logKnownPii="false">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging" logKnownPii="false" switchValue="Warning">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="System.ServiceModel" switchValue="Warning" propagateActivity="true">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="Microsoft.IdentityModel" switchValue="Warning">
<listeners>
<add name="xml" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xml" type="System.Diagnostics.XmlWriterTraceListener" initializeData="C:\temp\SomeAcmeWAS.svclog" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
Bemerk switchValue lik "Warning" her. Vi ønsker ikke "Information", siden det vil sende alt for mye informasjon til svclog. Kun "Warning" skal benyttes for switchValue .
Her RollingXmlWriterTracerListener kommentert ut og man bruker standard System.Diagnostics.XmlWriterTraceListener. Her så er en oppdatert config for SomeAcme som tar i bruk RollingXmlWriterTraceListener:
<system.diagnostics>
<sources>
<source name="System.IdentityModel" switchValue="Warning" logKnownPii="false">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging" logKnownPii="false" switchValue="Warning">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="System.ServiceModel" switchValue="Warning" propagateActivity="true">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="Microsoft.IdentityModel" switchValue="Warning">
<listeners>
<add name="xml" />
</listeners>
</source>
</sources>
<sharedListeners>
<add type="ToreAurstadIt.Logger.RollingDateXmlWriterTraceListener, ToreAurstadIT.RollingSvcLogger" name="xml" initializeData="C:\svclogs\SomeAcmeTraceLog.svclog" MaxTraceFileSize="104857600" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
I configen ovenfor så setter vi 1000 MB i størrelse via MaxTraceFileSize argumentet.
For å teste ut loggeren kan vi sette MaxTraceFileSize til en lav verdi, 300000 , 300 KB:
<sharedListeners>
<add name="xml" type="System.Diagnostics.XmlWriterTraceListener" initializeData="C:\temp\SomeAcmeWAS_RollingLog.svclog" MaxTraceFileSize="300000" />
</sharedListeners>
Dette vil gi oss en rullerende logg med maks 300 KB i hver fil , hvor hver enkelt .svclog fil holdes nede i størrelse. Det er kun den .svclog fila som er i bruk som er låst av prosessen som bruker loggen. Dette gjør det lettere for ToreAurstadIT-Drift å holde logg størrelsen nede i størrelse.
Den rullerende loggen setter opp flere filer med konfigurert maks størrelse. Dette gjør det lettere å holde kontroll på svclogs filene.
For ToreAurstadIT Drift bør feks 1 GB være en grei innstilling. Samtidig er jo kanskje 100 MB også en grei innstilling hvis man vil ha raskere svclog filer å lese ut.
100 MB :
<sharedListeners>
<add type="ToreAurstadIT.Logger.RollingXmlWriterTraceListener, ToreAurstadIT.Logger" name="xml" initializeData="C:\svclogs\SomeAcmeTraceLog.svclog" MaxTraceFileSize="104857600" />
</sharedListeners>
1 GB :
<sharedListeners>
<add type="ToreAurstadIT.Logger.RollingXmlWriterTraceListener, ToreAurstadIT.Logger" name="xml" initializeData="C:\svclogs\SomeAcmeTraceLog.svclog" MaxTraceFileSize="1048576000 " />
</sharedListeners>
Bemerk - ved sletting av enkeltvise .svclog filer så må applikasjonsloggen recycles rett etterpå for å unngå feil i loggingen, hvis man sletter den .svclog fila med høyeste nummer. I tillegg bør man unngå slette den tomme .svclog filen som dukker opp med konfigurert filnavn i initializeData og den som er nummerert 0000 .
Det anbefales å sette opp 500 MB default i maks fil størrelse før man rullerer over på neste fil, dette for å sørge for at .svclog filene holdes nede i størrelse og er noenlunde håndterlige å åpne i SvcTraceViewer i utviklingsmiljø.
Denne .svclog filen feks viser en feil (Error) som har skjedd i en .svclog ved at man åpner loggen i Svc Trace Viewer. Dette verktøyet får man ved å laste ned Windows SDK. Kryss for å få med verktøyet når du installerer Windows SDK.
Sist oppdatert :
06.10.2023
Tore Aurstad tore.aurstad@ToreAurstadIT.no Senior Systemutvikler ToreAurstadIT SU
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net40 is compatible. net403 was computed. net45 was computed. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
.NETFramework 4.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.4.0 | 195 | 10/8/2023 |