Loading...
Searching...
No Matches
log.c File Reference
Core

Buffered logging. More...

`#include <errno.h>`
`#include <string.h>`
`#include <unistd.h>`
`#include "log.h"`
`#include "utils.h"`
`#include "loggers/logger.h"`
Include dependency graph for log.c:

## Data Structures

struct | janus_log_buffer

## Macros

#define | THREAD_NAME "log"
#define | INITIAL_BUFSZ 2000

## Typedefs

typedef struct janus_log_buffer | janus_log_buffer

## Functions

gboolean | janus_log_is_stdout_enabled (void)
| Method to check whether stdout logging is enabled.
gboolean | janus_log_is_logfile_enabled (void)
| Method to check whether file-based logging is enabled.
char * | janus_log_get_logfile_path (void)
| Method to get the path to the log file.
void | janus_vprintf (const char *format,...)
int | janus_log_init (gboolean daemon, gboolean console, const char *logfile)
| Log initialization.
void | janus_log_set_loggers (GHashTable *loggers)
| Method to add a list of external loggers to the log management.
void | janus_log_destroy (void)
| Log destruction.

## Detailed Description

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

## Macro Definition Documentation

## INITIAL_BUFSZ

#define INITIAL_BUFSZ 2000

## THREAD_NAME

#define THREAD_NAME "log"

## Typedef Documentation

## janus_log_buffer

typedef struct janus_log_buffer janus_log_buffer

## Function Documentation

## janus_log_destroy()

void janus_log_destroy | ( | void |  | ) |

Log destruction.

## 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,
|  |  | ... )