![]() |
#9 |
Участник
|
В продолжении темы.
Согласен 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. |
|