Библиотека регистрации переменного тока создана для высокой производительности и богатого набора функций.
한국어 | 简体中文
Ключевые функции | Строить и установить | Основное использование | Внося
У STUMPLESS есть много функций, которые делают регистрацию C -C быстрой и простым:
Основная цель этой библиотеки - обеспечить постоянный интерфейс ведения журнала для широкого спектра целей журнала. Это означает, что вы можете сосредоточиться на определении событий и куда вы хотите, чтобы они пошли, не обнаруживая другие SDK или добавляя демоны и плагины, чтобы получить их туда, где вы хотите. Latepless может написать журналы по адресу:
Не видите, что вам нужно? Создайте проблему с вашим запросом, и мы работаем в нашей дорожной карте!
Для сборки для строительства только Cmake и для построения инструментов, поддерживаемого Cmake, и для постройки, поддерживаемого Cmake.
# cloning the latest version of the source tree
git clone [email protected]:goatshriek/stumpless.git
# creating a new build directory
mkdir build
cd build
# configuring the new build
cmake ../stumpless
# building stumpless (with 4 threads - adjust as desired)
cmake --build . --parallel 4
# install the library (you probably need sudo to do this)
sudo cmake --install .Ознакомьтесь с инструкциями по установке для получения более подробной информации о создании и установке WatePless в разных средах и/или с другими инструментами.
Самый простой способ начала - использовать функцию stumplog в качестве прямой замены для функции syslog стандартной библиотеки:
// if you're used to doing this:
syslog ( LOG_INFO | LOG_USER , "My message #%d" , count );
// then you can start by changing to this:
stumplog ( LOG_INFO | LOG_USER , "My message #%d" , count ); Если вы не открыли цель, это будет регистрировать сообщения для цели по умолчанию для платформы: на Linux это /dev/log , в системе Mac это будет /var/run/syslog , а на машине Windows это журнал событий Windows. Если вы откроете цель или даже несколько перед вызовом stumplog , то журналы будут отправлены в последнее открытую цель.
Если вам нужен еще более короткий вызов функции, вы можете использовать функцию stump для отправки сообщения в текущую цель. Вы также можете использовать спецификаторы формата так же, как и с printf :
stump ( "Login attempt failure #%d for user %s" , count , username ); Если вам не нужны спецификаторы формата, используйте один из вариантов _str : это и быстрее, и безопаснее!
stump_str ( "Login failure! See structured data for info." ); Если вы хотите открыть определенную цель, а не использовать по умолчанию, просто откройте необходимую вам и начните отправлять сообщения. Например, чтобы войти в файл с именем example.log :
target = stumpless_open_file_target ( "example.log" );
// uses the last opened target by default
stump ( "Login attempt failure #%d for user %s" , count , username );Отправка сообщений по сети в что -то вроде Splunk или Rsyslog так же просто:
target = stumpless_open_udp4_target ( "send-to-splunk-example" ,
"mylogserver.com" ); // or use an IP
stump ( "Login attempt failure #%d for user %s" , count , username );Если у вас есть несколько целей, вы можете отправлять сообщения в выбранную цель, как это:
stumpless_add_message ( target ,
"Login attempt failure #%d for user %s" ,
count ,
username );Обычно указывают уровни серьезности непосредственно при регистрационных вызовах, поэтому stumpless обеспечивает некоторые макрофункции, чтобы сделать это менее многословным и эффективным. Например, для регистрации сообщений с серьезностью информации, вы можете сделать это:
stump_i ( "this gets logged as an info message" ); И если вы также хотите увидеть исходный файл, номер строки и имени функции в каждом сообщении, вы можете использовать _t («T» для трассировки):
stump_t ( "this includes source info" ); Использование этих функций имеет дополнительное преимущество, которое их можно удалить во время компиляции, просто определяя символы STUMPLESS_ENABLE_UPTO или STUMPLESS_DISABLE_DOWNTO . Это позволяет легко изменять уровни ведения журнала между сборками, например, иметь версии PROD и отладки без различий в их исходном коде.
// be sure to define this before stumpless.h gets included
#define STUMPLESS_ENABLE_UPTO_INFO
// ...
// this log will go through just fine
stump_i ( "I'm doing that thing you asked" );
// this debugging message is completely removed: no runtime impact whatsoever
stump_d ( "DEBUG info: %d, %d, %s" , thing_1 , thing_2 , stringy_thingy );Ознакомьтесь с заголовками на уплотнении/уровне, чтобы увидеть полный список функций сокращения тяжести, или пример уровня тяжести, чтобы увидеть полную программу в действии.
Для более подробных примеров приведенных выше сценариев, использования конкретных целевых типов, как обрабатывать более сложные структуры сообщений и больше проверить примеры. К ним относятся аннотированные примеры кодовых файлов для компиляции, запуска и изменения, чтобы запустить вас.
Обратите внимание на проблему или есть запрос на функцию? Просто создайте проблему, используя один из шаблонов, и мы ответим как можно быстрее. Вы также можете рассмотреть рекомендации по вкладу проекта для получения более подробной информации о различных способах вернуть сообщество с открытым исходным кодом!
Если вы хотите фактически написать код или сделать обновление самостоятельно, посмотрите на руководство по разработке, чтобы получить подробную ориентацию. Есть несколько вариантов, основанных на вашем уровне опыта и знакомства с вкладом.
Первый вариант - просмотреть список проблем, отмеченных на лейбле Good First. Эти проблемы выбраны как небольшая, но значимая объем работы, и включают подробности об общем подходе, который вы можете принять для их завершения. Они являются отличным местом для начала, если вы просто хотите проверить воды этого проекта или вклад с открытым исходным кодом в целом.
Более опытные разработчики могут предпочесть взглянуть на полный список проблем в проекте, а также дорожную карту. Если предмет подхватывает ваш интерес, отбросьте комментарий в существующей проблеме или откройте новый, если он еще не существует, и укажите ваше намерение поработать над ним, чтобы у других был способ узнать, что он продолжается.
Если вам интересно, как что -то в WathPless работает, что здесь не объясняется, вы можете проверить соответствующий раздел документации, хранящийся в папке Docs. Папки в репозитории содержат свои собственные файлы Readme, в которых подробно описываются то, что они содержат, и любую другую соответствующую информацию. Документация для каждой функции также размещена на веб -сайте проекта, как для библиотеки C, так и для других языковых привязков, таких как C ++.
Утокольный турнир также включает в себя документацию в местных установках в форме страниц man . После того, как вы установили библиотеку, вы можете проверить документацию для любого файла заголовка (и функций, которые он содержит), запустив MAN с именем заголовка с помощью каталогов, замененных подставками, например, man stumpless_log.h чтобы увидеть документацию для функций, которые регистрируют простые строковые сообщения.
Есть также много способов, которыми вы можете обратиться к команде проекта и более широкому сообществу для поддержки.