Понимание сообщения об ошибке: 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 папку журнала. Здесь ничего нет. Где еще это может быть?


person Luk    schedule 13.11.2019    source источник


Ответы (1)


открыть этот файл

sudo nano /usr/local/etc/oai/hss_rel14.json

вы увидите некоторый конфиг, где вы можете найти logs/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

для имени журнала, имени журнала статистики и имени журнала аудита вы можете изменить его на любой файл, который вы хотите, но я предпочитаю помещать их вместе в папку /var/log. для ossfile там действительно есть oss.json. надеюсь, что это поможет

person a55mh    schedule 07.01.2020