Интерпретатор на Go

174 views
Skip to first unread message

Dmitry Ponyatov

unread,
Jul 19, 2019, 7:39:24 AM7/19/19
to Golang Russian
Пишу простенький интерпретатор байт-кода в качестве упражнения, ну и как симулятор для отладки программок для микроконтроллеров

Как правильно совмещать интерактивную консоль, и несколько уровней логирования?

в логи хочется писать раздельно
- сообщения при старте системы
- трассировку выполнения программ
- аварийные остановы по ошибке

при этом чтобы командная интерактивная консоль эмулятора не забивалась выводом,
и можно было контролировать какую часть логов выводить пользователю,
и сколько последних записей оставлять в файлах логов

Dmitry Ponyatov

unread,
Jul 19, 2019, 7:41:23 AM7/19/19
to Golang Russian
хотелось бы чтобы эта схема работала при последующем переносе под веб,
перенаправить копию логов для текущуей сессии в разные области страницы с разделением по типам

Sly_tom_cat

unread,
Jul 19, 2019, 11:28:16 AM7/19/19
to Golang Russian
Я бы предусмотрел передачу входных параметров (со значениями по умолчанию/) в которых можно было бы для каждого канала вывода задать файл/устройство вывода/сокет в зависимости от того, как предполагается использовать.
В коде открываем их как Logge-ы и пишем в них (если надо предварительно задав формат).

Всякого рода форматирование/показ/сохранение стоит реализовать отдельной утилитой и если нужен интерактив, то вяжем основной код и утилиту через сокет.

Ну по крайней мере, если я правильно понял вопрос, то я бы так делал.
Reply all
Reply to author
Forward
0 new messages