Что такое сообщение об ошибке: spdlog::spdlog_ex
Я знаю, что это очень конкретный вопрос. Тем не менее, возможно, это может помочь:
Сегодня я пытался скомпилировать открытый код. (всем, кому интересно, это тот.) Сообщение об ошибке, описанное ниже, появляется послеoai_hss -j $PREFIX/hss_rel14.json --onlyloadkey
- следуя пошаговой инструкции по установке до этого момента. После ввода вышеупомянутой команды в моем терминале выдается следующая ошибка:
terminate called after throwing an instance of 'spdlog::spdlog_ex'
what(): Failed opening file logs/hss.log for writing: No such file or directory
Aborted (core dumped)
Хорошо, это звучит довольно серьезно (ядро сброшено). Я искал в Google значение этого сообщения об ошибке. Я наткнулся на этот другой проект на github. По-видимому, класс spdlog пытается включить ведение журнала из любого места, где я запускаю свою программу. И он выдает ошибку spdlog_ex всякий раз, когда файл, который он пытается добавить в реестр (в данном случае logs / hss.log), уже существует в этом реестре. Думаю, решением моей проблемы было бы найти этот реестр и удалить logs / hss.log. Имеет ли это смысл?
Вопрос: Где, черт возьми, найти этот реестр?
Возможно, будут полезны некоторые базовые знания: я пытаюсь скомпилировать открытый исходный код в виртуальной машине, на которой работает Ubuntu 18.04.3 LTS bionic с общим ядром 4.15.0-66. Я уже искал в каталоге /tmp папку журнала. Здесь ничего нет. Где еще это могло быть?
1 ответ
Открыть этот файл
sudo nano /usr/local/etc/oai/hss_rel14.json
вы увидите некоторую конфигурацию, в которой вы можете найти журналы / hss.log
на самом деле вам нужно изменить эти 4 значения на
logname: "/var/log/hss.log"
statlogname: "/var/log/hss_stat.log"
auditlogname: "/var/log/hss_audit.log"
ossfile: "~/openair-cn/etc/oss.json"
затем используйте sudo touch для создания этих файлов
sudo touch /var/log/hss.log
sudo touch /var/log/hss_stat.log
sudo touch /var/log/hss_audit.log
для logname, statlogname и auditlogname вы можете изменить его на любой файл, который хотите, но я предпочитаю помещать их вместе в папку / var / log. для ossfile там находится oss.json. надеюсь, что это поможет