Источник:
http://axdevnotes.blogspot.com/2008/...-database.html
==============
There are several batch tasks running on the schedule in our company. They send many messages to InfoLog. Usually I am interesting messages of some type. It is not convenient scroll all messages in SysInfologBrowser form in search of required. I decided to implement the method for writing InfoLog to the database. After investigation of the Info class I wrote code listed below.
X++:
protected Log logTxt()
{
#resAppl
#Define.UserTab('\t')
Integer fromIdx = transLogPoint + 1;
Integer toIdx = infoLog.num();
SysInfoLogEnumerator enum = SysInfologEnumerator::newData(infoLog.copy(fromIdx, toIdx));
Log logTxt;
DictEnum dictEnum = new DictEnum(enumNum(Exception));
;
while (enum.moveNext())
{
logTxt += strFmt("%1 \t %2\r\n",
dictEnum.index2Name(enum.currentException()),
strRem(enum.currentMessage(), #UserTab));
}
transLogPoint = toIdx;
return logTxt;
}
Variable transLogPoint keep the value of the last message index before start batch task.
Источник:
http://axdevnotes.blogspot.com/2008/...-database.html