Message logger. More...
Macros | |
| #define | SOLO_LOG_FILE_NAME "log.txt" |
| Log file name without rotation. | |
Typedefs | |
| typedef struct Logger_T | Logger_T |
| Logger structure. | |
| typedef Logger_T * | Logger |
| Logger instance. | |
Functions | |
| LogyResult | createLogger (const char *directoryPath, LogLevel level, bool logToStdout, double rotationTime, bool isAppDataDirectory, Logger *logger) |
| Creates a new logger instance. | |
| void | destroyLogger (Logger logger) |
| Destroys logger instance. | |
| const char * | getLoggerDirectoryPath (Logger logger) |
| Returns logger directory path string. (MT-Safe). | |
| const char * | getLoggerFilePath (Logger logger) |
| Returns logger file path string. (MT-Safe). | |
| double | getLoggerRotationTime (Logger logger) |
| Returns current logger rotation delay time in seconds. (MT-Safe). | |
| LogLevel | getLoggerLevel (Logger logger) |
| Returns current logger logging level. (MT-Safe). | |
| void | setLoggerLevel (Logger logger, LogLevel level) |
| Set logger logging level. (MT-Safe). | |
| bool | getLoggerLogToStdout (Logger logger) |
| Returns current logger log to stdout state. (MT-Safe). | |
| void | setLoggerLogToStdout (Logger logger, bool logToStdout) |
| Sets log messages to stdout. (MT-Safe). | |
| void | logVaMessage (Logger logger, LogLevel level, const char *fmt, va_list args) |
| Logs message to the log. (MT-Safe). | |
| void | logMessage (Logger logger, LogLevel level, const char *fmt,...) |
| Logs message to the log. (MT-Safe). | |
Message logger.
The logger is used to record or log messages generated by a software application during its execution. Logging is a crucial aspect of software development, as it provides a way to capture information about the program's behavior, errors, warnings, and other events. The primary purposes of using a logger in programming include debugging, monitoring, and analyzing the application's runtime behavior.
| LogyResult createLogger | ( | const char * | directoryPath, |
| LogLevel | level, | ||
| bool | logToStdout, | ||
| double | rotationTime, | ||
| bool | isAppDataDirectory, | ||
| Logger * | logger ) |
Creates a new logger instance.
Opens a new file stream to write logging messages. Log rotation is a process used to manage log files by periodically archiving them to prevent from becoming too large and consuming excessive disk space.
| [in] | directoryPath | logs directory path string |
| level | logging level, inclusive | |
| logToStdout | duplicate messages to the stdout | |
| rotationTime | log rotation delay time or 0 (in seconds) | |
| isAppDataDirectory | write to app data directory | |
| [out] | logger | pointer to the logger instance |
| SUCCESS_LOGY_RESULT | on success |
| FAILED_TO_ALLOCATE_LOGY_RESULT | if out of memory |
| FAILED_TO_GET_DIRECTORY_LOGY_RESULT | if failed to get data directory path |
| FAILED_TO_OPEN_FILE_LOGY_RESULT | if failed to open file |
| void destroyLogger | ( | Logger | logger | ) |
Destroys logger instance.
| logger | logger instance or NULL |
| const char * getLoggerDirectoryPath | ( | Logger | logger | ) |
Returns logger directory path string. (MT-Safe).
| logger | logger instance |
| const char * getLoggerFilePath | ( | Logger | logger | ) |
Returns logger file path string. (MT-Safe).
| logger | logger instance |
| double getLoggerRotationTime | ( | Logger | logger | ) |
Returns current logger rotation delay time in seconds. (MT-Safe).
After the time expires, the current log file will be closed and compressed, a new file stream for the log file will be created.
| logger | logger instance |
Returns current logger logging level. (MT-Safe).
| logger | logger instance |
Set logger logging level. (MT-Safe).
Log only message <= log level.
| logger | logger instance |
| level | message logging level |
| bool getLoggerLogToStdout | ( | Logger | logger | ) |
Returns current logger log to stdout state. (MT-Safe).
| logger | logger instance |
| void setLoggerLogToStdout | ( | Logger | logger, |
| bool | logToStdout ) |
Sets log messages to stdout. (MT-Safe).
Is logger should duplicate messages to the stdout.
| logger | logger instance |
| logToStdout | logToStdout value |
Logs message to the log. (MT-Safe).
| logger | logger instance | |
| level | message logging level | |
| [in] | fmt | formatted message |
| args | message arguments |