16.5 Фильтрация сообщений SAL

В SAL можно по требованию заносить в журнал расширенные сведения об ошибках. В отладочных сборках поддерживается трассировка вызовов функций с аргументами.

16.5.1 Настройка уровней важности

Можно использовать параметр SAL_LogLevels для настройки уровня важности сообщений SAL. SAL_LogLevels — это разделенный запятыми список нужных уровней журнала.

Уровни журнала перечислены в таблице ниже.

Таблица 16-1 Параметры фильтрации сообщений SAL

Название параметра

Описание

LogCrit

Критические сообщения.

Этот уровень включен по умолчанию. После записи в журнал критической ошибки система отключается.

LogErr

Все сообщения об ошибках.

Система продолжает работать, но с непредсказуемыми результатами.

LogWarn

Предупреждения.

Это предупреждение о возможном возникновении ошибки.

LogInfo

Информационные сообщения.

LogDbg

Сообщения отладки, используемые при разработке.

Эти сообщения исключаются из готовых сборок для сокращения размера двоичных файлов.

LogCall

Отслеживает вызовы функций. Это подмножество сообщений отладки.

LogAll

Включает все сообщения, кроме LogCall.

Если указать "-" перед определенным уровнем журнала, этот уровень будет отключен.

Примеры

Для фильтрации по всем уровням журнала, кроме LogInfo и LogDbg, выполните следующие действия:

Linux

  1. Остановите ndsd.

  2. Введите следующую команду:

    export SAL_LogLevels=LogAll,-LogInfo,-LogDbg
    
  3. Запустите ndsd.

Windows

  1. Завершите работу DHost.

  2. Введите следующую команду в командной строке:

    set SAL_LogLevels=LogAll,-LogInfo,-LogDbg
    
    c:\novell\nds>dhost.exe /datadir=c:\novell\nds\DIBFiles\
    
  3. Перезапустите DHost.

16.5.2 Настройка пути к файлу журнала

Можно использовать переменную среды SAL_LogFile, чтобы настроить расположение файла журнала. Это может быть допустимое имя файла с путем или одно из следующих значений.

  • Консоль: все сообщения выводятся на консоль.

  • Syslog: в Linux сообщения передаются в syslog. В Windows сообщения заносятся в файл syslog. Так ведение журналов работает по умолчанию.

    Все критические ошибки всегда записываются в syslog, если такой механизм не отключить явным образом.