TraceLog
Описание
TraceLog(LogFileName) - Включение / выключение режима логирования на диск работы Amisharp (новое в 1.0.1.11)
В реальном времени формируеn Лог обращений к AmiSharp. В лог выводятся;
- Дата
- Время
- Имя метода
- Фактические параметры, переданные методу из приложения с учетом их типа
- Результат исполнения
Протоколированием можно управлять не только из интересующего приложения, но и внешней программой.
Параметры
String LogFileName - имя файла для записи обращений к амишарпу и их результатов. Если указано пустое имя - трассировка прекращается. По умолчанию логирование отключено.
Возвращаемое значение
Имя файла, куда было направлено логирование до момента вызова метода.
Пример использования
TraceLog("e:\\xx.log");
Пример лога:
09.09.2013 19:29:24 Version() = 1.0.1.11
09.09.2013 19:29:33 QuikIsConnected() = 1
09.09.2013 19:29:33 QuikDisconnect() = 1
09.09.2013 19:29:33 IsTableExists("[Арбитраж]ТТП") = 0
09.09.2013 19:29:33 IsProcessStarted("C:\Program Files\Quik-Junior\info.exe") = 1
09.09.2013 19:29:33 IsWindowExists("C:\Program Files\Quik-Junior\info.exe","Идентификация пользователя") = 0
09.09.2013 19:29:33 IsTableExists("[Арбитраж]ТТП") = 1
09.09.2013 19:29:33 GetCellName("[Арбитраж]ТТП","SEC_PRICE_STEP",0) = SEC_PRICE_STEP
09.09.2013 19:29:33 GetCellName("[Арбитраж]ТТП","SEC_SCALE",0) = SEC_SCALE
09.09.2013 19:29:33 GetCellName("[Арбитраж]ТТП","CLASS_CODE",0) = CLASS_CODE
09.09.2013 19:29:33 GetCellName("[Арбитраж]ТТП","CODE",0) = CODE
09.09.2013 19:29:33 IsTableExists("[Арбитраж]Заявки") = 1
09.09.2013 19:29:33 GetCellName("[Арбитраж]Заявки","QTY",0) = QTY
09.09.2013 19:29:33 GetCellName("[Арбитраж]Заявки","BALANCE",0) = BALANCE
09.09.2013 19:29:33 GetCellName("[Арбитраж]Заявки","ORDERNUM",0) = ORDERNUM
09.09.2013 19:29:33 IsTableExists("[Арбитраж]Сделки") = 1
09.09.2013 19:29:33 GetCellName("[Арбитраж]Сделки","ORDERNUM",0) = ORDERNUM
09.09.2013 19:29:33 GetCellName("[Арбитраж]Сделки","VALUE",0) = VALUE
09.09.2013 19:29:33 GetCellName("[Арбитраж]Сделки","QTY",0) = QTY
09.09.2013 19:29:33 GetCellName("[Арбитраж]Сделки","PRICE",0) = PRICE
09.09.2013 19:29:33 GetCellName("[Арбитраж]Сделки","TRADENUM",0) = TRADENUM
09.09.2013 19:29:33 SearchValueName("[Арбитраж]ТТП","CODE","LKOH",0) = 13
09.09.2013 19:29:33 GetCellName("[Арбитраж]ТТП","CLASS_CODE",13) = QJSIM
09.09.2013 19:29:34 IsProcessStarted("C:\Program Files\Quik-Junior\info.exe") = 1
09.09.2013 19:29:34 IsWindowExists("C:\Program Files\Quik-Junior\info.exe","Идентификация пользователя") = 0
09.09.2013 19:29:34 IsTableExists("[Арбитраж]ТТП") = 1
09.09.2013 19:29:34 GetCellName("[Арбитраж]ТТП","SEC_PRICE_STEP",0) = SEC_PRICE_STEP
09.09.2013 19:29:34 GetCellName("[Арбитраж]ТТП","SEC_SCALE",0) = SEC_SCALE
09.09.2013 19:29:36 SearchValueName("[Арбитраж]ТТП","CODE","LKOH",0) = 13
09.09.2013 19:29:36 GetCellName("[Арбитраж]ТТП","CLASS_CODE",13) = QJSIM
09.09.2013 19:29:36 IsProcessStarted("C:\Program Files\Quik-Junior\info.exe") = 1
09.09.2013 19:29:36 IsWindowExists("C:\Program Files\Quik-Junior\info.exe","Идентификация пользователя") = 0
09.09.2013 19:29:36 IsTableExists("[Арбитраж]ТТП") = 1Текст программы на autoit, включающей и выключающей режим протоколирования AmiiSharp
$AmiSharp = ObjCreate("AmiSharp.Mutant")
if $CmdLine[0] == 0 then
$amisharp.TraceLog("")
Else
$amisharp.TraceLog($CmdLine[1])
EndIfТаким образом, запустив одну программу, можно управлять выводом в файл трассировки методов, посылаемых AmiSharp'у другой программой, например, программой Amibroker
