Buffered logging.
More...
#include <errno.h>
#include <string.h>
#include <unistd.h>
#include "log.h"
#include "utils.h"
#include "loggers/logger.h"
Buffered logging.
- Author
- Jay Ridgeway jayri.nosp@m.dge@.nosp@m.gmail.nosp@m..com
- Copyright
- GNU General Public License v3 Implementation of a simple buffered logger designed to remove I/O wait from threads that may be sensitive to such delays. Buffers are saved and reused to reduce allocation calls. The logger output can then be printed to stdout and/or a log file. If external loggers are added to the core, the logger output is passed to those as well.
Core
◆ INITIAL_BUFSZ
#define INITIAL_BUFSZ 2000 |
◆ THREAD_NAME
#define THREAD_NAME "log" |
◆ janus_log_buffer
◆ janus_log_destroy()
void janus_log_destroy |
( |
void |
| ) |
|
◆ janus_log_get_logfile_path()
char* janus_log_get_logfile_path |
( |
void |
| ) |
|
Method to get the path to the log file.
- Returns
- The full path to the log file, or NULL otherwise
◆ janus_log_init()
int janus_log_init |
( |
gboolean |
daemon, |
|
|
gboolean |
console, |
|
|
const char * |
logfile |
|
) |
| |
Log initialization.
- Note
- This should be called before attempting to use the logger. A buffer pool and processing thread are created.
- Parameters
-
daemon | Whether the Janus is running as a daemon or not |
console | Whether the output should be printed on stdout or not |
logfile | Log file to save the output to, if any |
- Returns
- 0 in case of success, a negative integer otherwise
◆ janus_log_is_logfile_enabled()
gboolean janus_log_is_logfile_enabled |
( |
void |
| ) |
|
Method to check whether file-based logging is enabled.
- Returns
- TRUE if file-based logging is enabled, FALSE otherwise
◆ janus_log_is_stdout_enabled()
gboolean janus_log_is_stdout_enabled |
( |
void |
| ) |
|
Method to check whether stdout logging is enabled.
- Returns
- TRUE if stdout logging is enabled, FALSE otherwise
◆ janus_log_set_loggers()
void janus_log_set_loggers |
( |
GHashTable * |
loggers | ) |
|
Method to add a list of external loggers to the log management.
- Parameters
-
loggers | Hash table of external loggers registered in the core |
◆ janus_vprintf()
void janus_vprintf |
( |
const char * |
format, |
|
|
|
... |
|
) |
| |