myRPC/libmysyslog/README.md
2025-03-16 21:03:58 +03:00

25 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Библиотека libmysyslog на языке Си
Разработать расширяемую библиотеку libmysyslog на языке Си, которая сможет выводить данные в журнал в разных форматах. В рамках библиотеки необходимо реализовать функцию, через которую другие программы смогут выводить данные в журнал:
```c
int mysyslog(const char* msg, int level, int driver, int format, const char* path);
```
Поддерживаются следующие уровни журналирования: DEBUG, INFO, WARN, ERROR, CRITICAL.
Для библиотеки libmysyslog реализованы в виде подключаемого плагина 2 драйвера (libmysyslog-text, libmysyslog-json): вывод в журнал в виде строки с разделителем и вывод в журнал в виде json строки.
Структура журнала в текстовом формате:
```
timestamp log_level process message
```
Пример журнала в текстовом формате:
```
1439482969 ERROR example-app this is an error
```
Структура журнала в формате JSON:
```json
{"timestamp": ..., "log_level": ..., "process": ..., "message": ...}
```
Пример журнала в формате JSON:
```json
{"timestamp":1439482969,"log_level":"ERROR","process":"example-app","message":"this is an error"}
```