CONNECTED Conference 2023 - Aufzeichnungen jetzt hier verfügbar +++                     

Suche

über alle News und Events

 

Alle News

 

Was ist ein Excel-Plugin – und wann ist es...

Weiterlesen

Wir expandieren, bringen Kunden und Talente besser...

Weiterlesen

Um HTML zum PDF zu konvertieren, werden wir...

Weiterlesen

Die Logic Apps-Plattform von Microsoft ermöglicht...

Weiterlesen

Du bist neugierig auf aktuelle KI-Technologien und...

Weiterlesen

Am 27.09. ab 12.30h starten die vierten QUIBIQ...

Weiterlesen

"Das Beste von SAP und Microsoft nutzen": auf dem...

Weiterlesen

Azure Bicep wird verwendet, um Ressourcen in Azure...

Weiterlesen

In einer Welt, die immer digitaler wird, ist es...

Weiterlesen

Dieser Artikel beschreibt wie JSON-Dateien anhand...

Weiterlesen

How-to: Message-Längen Beschränkung im Event Log

Wenn eine lange Message in das Windows EventLog mit System.Diagnostics.EventLog.WriteEntry geschrieben wird...

An unhandled exception of type 'System.ArgumentException' occurred in System.dll

Additional information: Log entry string is too long. A string written to the event log cannot exceed 32766 characters.

Klar genug, so scheint es. Jedoch Überraschung; beschränkt man die Message auf die mitgeteilte Länge von 32766 (oder ein paar weniger) Zeichen, entsteht wieder eine Exception, dieses Mal nicht so aussagekräftig:

An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in System.dll

Additional information: The parameter is incorrect

Die aktuelle Dokumentation

            https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.eventlog
bzw. die Dokumentation der WinAPI, auf der das beruht
            https://docs.microsoft.com/de-de/windows/desktop/api/winbase/nf-winbase-reporteventa
macht dann auch klar, dass die eigentliche Maximal-Länge seit Windows Vista bei
            31839 Zeichen 
liegt. Der Argument-checking Code der EventLog.WriteEntry Methode ist nur offenbar noch nicht angepasst.

Das Ganze zusammengefasst in einem Code-Snippet.

// An unhandled exception of type 'System.ArgumentException' occurred in System.dll

// Additional information: Log entry string is too long.

// A string written to the event log cannot exceed 32766 characters.

//Int32 maxLength = 33000;

 

// An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in System.dll

// Additional information: The parameter is incorrect

//Int32 maxLength = 32766;

 

// Success!

Int32 maxLength = 31839;

 

String msgShortened = msg.Length > maxLength ? msg.Substring(0, maxLength) : msg;

EventLog.WriteEntry("Xperiment", msgShortened, EventLogEntryType.Information, 55555);

Viel Spass beim Coding!

Plamen Petrow
QUIBIQ Schweiz

Ihre Kontaktmöglichkeiten

Sie haben eine konkrete Frage an uns


 

Bleiben Sie immer auf dem Laufenden


 

Mit meinem "Ja" erkläre ich mich mit der Verarbeitung meiner Daten zur Zusendung von Informationen einverstanden. Ich weiß, dass ich diese Erklärung jederzeit durch einfache Mitteilung widerrufen kann. Bei einem Nein an dieser Stelle erhalte ich zukünftig keine Informationen mehr.

© QUIBIQ GmbH · Impressum · Datenschutz