This is a very short article which shows how to write any information into the system event viewer. This is something that can be very useful when trying to debug processes such as batches that are difficult to debug. One thing to note is that if the code is running on the AOS the information will be written to the EventViewer on the AOS, just something to keep in mind if you don’t see your message in the EventViewer.
static void writeEventLogEntry(Args _args)
{System.Diagnostics.EventLog eventlog;
#Define.LogSource("Dynamics AX")#Define.LogName("Application");
// check if the log already existsif(!System.Diagnostics.EventLog::SourceExists(#LogSource)){// create new logSystem.Diagnostics.EventLog::CreateEventSource(#LogSource, #LogName);
}
eventlog = new System.Diagnostics.EventLog();eventlog.set_Source(#LogSource);
// write info entryeventlog.WriteEntry(": Just writing in the event viewer." );// write error entryeventlog.WriteEntry(": Please check the stack trace below. \n\n" + con2str(xSession::xppCallStack()), System.Diagnostics.EventLogEntryType::Error);
// write warning entryeventlog.WriteEntry("Job finished." , System.Diagnostics.EventLogEntryType::Warning);}