Контроль уровня отладки в библиотеке C ++ - Linux - PullRequest
0 голосов
/ 03 июня 2010

У меня есть библиотека C ++, которая используется как в Linux, так и в Windows. Я хочу, чтобы пользователь мог контролировать уровень отладки (0 - без отладки, 1 - только критические ошибки ... 5 - информативная отладочная информация).

Журнал отладки печатается в текстовый файл.

В Windows я могу сделать это, используя значение реестра (DWORD DebugLevel).

Что может быть хорошей заменой, которая работает и для Linux? (Без сторонних инструментов, например Linux "Registry").

Заранее спасибо!

Ответы [ 4 ]

0 голосов
/ 26 декабря 2010

Вы можете использовать файл конфигурации в / etc / YOURAPP или ~ / .YOURAPP или ~ / .config / YOURAPP

0 голосов
/ 03 июня 2010

Если это в основном для целей разработки (т. Е. «Пользователь», на которого вы ссылаетесь - это разработчик, использующий вашу библиотеку, а не конечный пользователь этого кода), самый быстрый / простой способ - использовать переменную среды.

Если это будет контролироваться конечным пользователем, вам, вероятно, нужно расширить свой API, чтобы разработчик приложения мог установить уровень отладки в коде после чтения его файлов конфигурации - у вас обычно не было бы отдельной конфигурации файл только для одной библиотеки, используемой программой.

0 голосов
/ 03 июня 2010

Вы можете использовать log4cxx framework. Это настраивается через файл. Я еще не пробовал, но он должен работать и с Windows.

0 голосов
/ 03 июня 2010

Есть ли в вашей библиотеке какая-то функция инициализации? Сделайте уровень параметром для этой функции. В идеале сохраняйте переданное значение в контекстной структуре или классе, если это имеет смысл для вашего API (то есть, если вам требуется, чтобы клиенты всегда работали через «контекст»), но если нет, глобальное значение может быть разумным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...