|
![]() |
#1 |
Участник
|
Спасибо. Я вот сейчас думаю если пакетник будет выполняться на выделенном aos то по хорошему он должен сохранять лог по стандартному маршруту в папку аксапты. Вы не подскажете какой стандартный путь принят в AX когда она сама сохраняет свои логи. В соответствующей папке программы в programs files в папке аксапты? Или как?
|
|
![]() |
#2 |
Участник
|
Кто является потребителем данной информации?
Для каких целей это необходимо? Это отладка или статистика? Возможно, лучше реализовать специальную таблицу и вставлять записи в неё? Последний раз редактировалось Товарищ ♂uatr; 29.01.2020 в 20:41. |
|
![]() |
#3 |
Участник
|
Цитата:
![]() |
|
![]() |
#4 |
Участник
|
В продолжении темы.
Согласен info тоже удобен. Но в нем очень неудобно осуществлять навигацию, если записей очень много получается. Трудно даже ползунок сдвинуть. Подскажите еще. Вопрос 1 Пакетник ведет лог в файл, все хорошо. Но при работе есть случаи когда происходит вывод сообщений в инфолог из глубины различных методов. Соответственно на финише получается такая картина, лог выводится в файл и выводится инфолог в котором масса сообщения тоже. Невозможно понять в рамках какой строки лога выводились конкретное сообщения в инфоологе. Мне было бы удобнее к каждой строке лога текстового файла добавлять текстовое значение из инфолога которое были выведены. Только вопрос: Как сообщение извлечь из инфолога в текстовую переменную? И главное что бы это сообщение из инфолога было без эффекта накопления.. Вопрос 2 Я использую класс для вывода сообщений System.IO.StreamWriter (код из примера): X++: static void Job_StreamWriter(Args _args) { System.IO.StreamWriter sw; InteropPermission perm = new InteropPermission(InteropKind::ClrInterop); ; perm.assert(); sw = new System.IO.StreamWriter(@"C:\test.txt"); sw.WriteLine("Line 1"); sw.WriteLine("Line 2"); sw.Flush(); sw.Close(); sw.Dispose(); CodeAccessPermission::revertAssert(); } X++: sw = new System.IO.StreamWriter(@"%USERPROFILE%\test.log"); Похоже она не понимает переменные окружения. Нужно для того что если пакетник выполняется вручную на сервере соответственно сохранить возможно лог только в папку текущего пользователя запустившего пакетник. Вопрос 3 Возможно ли как то узнать какая ошибка генерируется в случае когда выводится ошибка "Объект "CLRObject" не может быть создан". Это нужно для того что бы обрабатывать различные ошибки. Как в вопросе выше. Если нет доступа к пути то нужно выводить такое сообщение. Создавал вот такую конструкцию: X++: try { sw = new System.IO.StreamWriter(@"%USERPROFILE%\test.log"); if (!sw) { throw error('ошибка'); } } //catch(Exception::CLRError) catch(Exception::Error) { info("свой текст ошибки"); } Последний раз редактировалось oleggy; 01.02.2020 в 08:29. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|