Suche

über alle News und Events

 

Alle News

 

Durable Function ist eine Erweiterung der...

Weiterlesen

Wir haben eine gute, vor allem spannende und hoch...

Weiterlesen

Am 09.05.2022 wurde ein Artikel von Microsoft...

Weiterlesen

Neben den altbekannten Logic Apps (Consumption),...

Weiterlesen

Im Jahr 2022 fallen eine Reihe von .Net Versionen...

Weiterlesen

SAP in die Power Platform integrieren – In einem...

Weiterlesen

Bicep Templates benutzen eine deklarative Syntax...

Weiterlesen

In BizTalk gibt es einige Alternativen, wie...

Weiterlesen

Wir sind auf ein seltsames Phänomen bei einem...

Weiterlesen

Nach der Migration konnten in VS 2019 „normale“...

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