Loggermessage- und Ereignisprotokoll -IDsC#

Ein Treffpunkt für C#-Programmierer
Guest
 Loggermessage- und Ereignisprotokoll -IDs

Post by Guest »

Mit .NET 9 habe ich nach Microsoft Tutorial einen Windows -Dienst erstellt. Laut diesem Tutorial sieht mein Code aus wie: < /p>

Code: Select all

public sealed class WindowsBackgroundService (
MyService _myService,
ILogger _logger)
: BackgroundService
{
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
try
{
await _my.OnStart(stoppingToken);
while (!stoppingToken.IsCancellationRequested)
await _my.DoWorkAsync(stoppingToken).ConfigureAwait(false);
}
< /code>
usw.  Ich registriere den Dienst mit sc.exe create 
über eine erhöhte Eingabeaufforderung, die die Ereignisquelle für meine Anwendung korrekt zu erstellen scheint, sodass das Ereignisprotokoll erkennt, woher Protokollnachrichten stammen.
In AppStings.json Ich habe die folgende Konfiguration:

Code: Select all

"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.Hosting.Lifetime": "Information"
},
"EventLog": {
"SourceName": "My Service Name",
"LogName": "Application",
"LogLevel": {
"Default": "Warning",
"Microsoft": "Information",
"Microsoft.Hosting.Lifetime": "Information"
}
}
},
Wenn ich nun _logger.logWarning ("foo"); in meinem Code eingesteckt habe, zeigt der Ereignisbieter mir die Nachricht foo mit Ereignis -ID 0. Kein Problem. : < /p>

Code: Select all

internal static partial class LogMessage
{
[LoggerMessage(Level = LogLevel.Warning, Message = "Bar")]
public static partial void Bar(ILogger logger);
< /code>
mit Aufruf: < /p>
    LogMessage.Bar(_logger);
Dann wird die Nachrichtenleiste im Ereigniszuschauer angezeigt, aber mit einer scheinbar zufälligen 5-stelligen Ereignis-ID zusammen mit einer Reihe von Vorverstärkungswarntext die Beschreibung für die Ereignis-ID 40829 von Quelle Mein Dienstname kann nicht gefunden werden. usw. Br />
[*] Registrieren Sie diese IDs irgendwie mit dem Ereignisprotokoll, damit der Warntext nicht angezeigt wird, oder < /li>
Loggermessage senden alle Nachrichten senden mit id 0 beim Sprechen mit dem Ereignisprotokoll.
[/u]

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post