Conversation
HadronCollider
left a comment
There was a problem hiding this comment.
- нужно добавить логи для "базовые состояния, действия", как минимум в рамках проведения тренировки (нажал кнопку / загрузил презентацию / переключил слайд / пр.)
- логи необходимо "связать" с соответствующей тренировкой (=хотя бы добавить id в строку)
| frame = inspect.currentframe() # кадр | ||
| caller = frame.f_back # кадр вызывающей функции | ||
| pathname = caller.f_code.co_filename # путь к файлу вызвывающей функции | ||
| filename = pathname.split('/')[-1] # имя файла | ||
| funcName = caller.f_code.co_name # имя функции | ||
| lineno = caller.f_lineno # номер строки |
There was a problem hiding this comment.
Если мы сохраняем логи с клиента - какой смысл в этих данных от бэкенд-файла?
Может, если хотите сохранить "путь" к месту логов, разумнее там держать информацию с фронта (файл, функции, строки и пр. - аналогичная информация, откуда пришли логи)?
There was a problem hiding this comment.
Отформатируйте файл
| trainingId, | ||
| currentPage; | ||
|
|
||
| function waitForLogger(callback, timeout = 3000) { |
There was a problem hiding this comment.
В чем смысл waitForLogger? При этом он используется только на этой странице (и то не везде) - на других страницах не нужно его ожидать?
|
|
||
|
|
||
|
|
||
| @api_logs.route('/api/logs/', methods=['GET']) |
There was a problem hiding this comment.
Проверьте, чтобы на странице http://localhost:5000/api/logs/ - была информация о тренировке
| return logs_json, 200 | ||
|
|
||
|
|
||
| @api_logs.route('/logs', methods=['POST']) |
There was a problem hiding this comment.
Добавьте вывод логов в консоль (также как выводятся логи от бэкенда) - это позволит просматривать логи из всех источников в одном месте (и более доступном, чем БД)
Возможно стоит даже доработать логгер бэкенда (вынесите в отдельную задачу и назначьте на себя) - чтобы он своим вызовом печатал в консоль и сохранял в БД (без лишних вызовов и прочего)
| }, | ||
| body: JSON.stringify({ | ||
| timestamp: new Date().toISOString(), | ||
| message: args.join(' '), |
There was a problem hiding this comment.
Добавьте trainingId и в сообщение
| (function () { | ||
|
|
||
| // const trainingId = | ||
| // window.APP_CONTEXT?.trainingId ?? null; | ||
|
|
||
| class Logger { |
There was a problem hiding this comment.
Если подобный ход ((function () {...})()) сделан для запуска на этапе загрузке страницы (или после её загрузки) - лучше поменять на что-то более приличное (addEventListener или подобное)
No description provided.