Writing to the event log in Windows using AX is very easy when you use the EventLog class from the System.Diagnostics namespace. The following job demonstrates how to use the EventLog class.
static void EventViewer(Args _args)
{
System.Diagnostics.EventLog eventlog;
#Define.LogSource("Dynamics AX")
#Define.LogName("Dynamics AX Log")
;
// check if the log already exists
if(!System.Diagnostics.EventLog::SourceExists(#LogSource))
{
// create new log
System.Diagnostics.EventLog::CreateEventSource(#LogSource, #LogName);
}
eventlog = new System.Diagnostics.EventLog();
eventlog.set_Source(#LogSource);
// write info entry
eventlog.WriteEntry("Just writing in the event viewer.");
// write error entry
eventlog.WriteEntry("Error! Please check the stack trace below. \n\n" +
con2str(xSession::xppCallStack()), System.Diagnostics.EventLogEntryType::Error);
// write warning entry
eventlog.WriteEntry("Job finished." , System.Diagnostics.EventLogEntryType::Warning);
info("Check the event viewer!");
}
A possible use for this is when monitoring batch jobs.
Tested using AX 2009, XP Pro.
Related
sushil
on March 29, 2011 at 10:54
clr object could not be invoked Error is being given but if i give an existing evnt viewer source entry it works.Final O/P info is printed but how to check whether entry is made or not. That is not visible
Trackbacks
on October 4, 2023 at 10:40