Liblinphone: Logging

Liblinphone 5.0.0

Typedefs | Enumerations | Functions
Logging

Logging service of Linphone. More...

## Typedefs
typedef struct _LinphoneLoggingService | LinphoneLoggingService
| Singleton class giving access to logging features. More...
typedef struct _LinphoneLoggingServiceCbs | LinphoneLoggingServiceCbs
| Listener for LinphoneLoggingService.
typedef enum _LinphoneLogLevel | LinphoneLogLevel
| Verbosity levels of log messages.
typedef void(* | LinphoneLoggingServiceCbsLogMessageWrittenCb) (LinphoneLoggingService *log_service, const char *domain, LinphoneLogLevel level, const char *message)
| Type of callbacks called each time liblinphone write a log message. More...

## Enumerations
enum | _LinphoneLogLevel { LinphoneLogLevelDebug = 1<<0 , LinphoneLogLevelTrace = 1<<1 , LinphoneLogLevelMessage = 1<<2 , LinphoneLogLevelWarning = 1<<3 , LinphoneLogLevelError = 1<<4 , LinphoneLogLevelFatal = 1<<5 }
| Verbosity levels of log messages. More...

## Functions
LinphoneLoggingService * | linphone_logging_service_get (void)
| Gets the singleton logging service object. More...
LinphoneLoggingService * | linphone_logging_service_ref (LinphoneLoggingService *log_service)
| Increases the reference counter. More...
void | linphone_logging_service_unref (LinphoneLoggingService *log_service)
| Decreases the reference counter and destroy the object if the counter reaches 0. More...
void | linphone_logging_service_add_callbacks (LinphoneLoggingService *log_service, LinphoneLoggingServiceCbs *cbs)
| Adds a callback object to the list of listeners. More...
void | linphone_logging_service_remove_callbacks (LinphoneLoggingService *log_service, LinphoneLoggingServiceCbs *cbs)
| Removes a callback object from the list of listeners. More...
LinphoneLoggingServiceCbs * | linphone_logging_service_get_current_callbacks (const LinphoneLoggingService *log_service)
| Returns the current callbacks being called while iterating on callbacks. More...
void | linphone_logging_service_set_log_level (LinphoneLoggingService *log_service, LinphoneLogLevel level)
| Set the verbosity of the log. More...
void | linphone_logging_service_set_log_level_mask (LinphoneLoggingService *log_service, unsigned int mask)
| Sets the types of messages that will be authorized to be written in the log. More...
unsigned int | linphone_logging_service_get_log_level_mask (const LinphoneLoggingService *log_service)
| Gets the log level mask. More...
void | linphone_logging_service_set_log_file (const LinphoneLoggingService *log_service, const char *dir, const char *filename, size_t max_size)
| Enables logging in a file. More...
void | linphone_logging_service_set_domain (LinphoneLoggingService *log_service, const char *domain)
| Set the domain where application logs are written (for example with linphone_logging_service_message()). More...
const char * | linphone_logging_service_get_domain (LinphoneLoggingService *log_service)
| Get the domain where application logs are written (for example with linphone_logging_service_message()). More...
void | linphone_logging_service_debug (LinphoneLoggingService *log_service, const char *message)
| Write a LinphoneLogLevelDebug message to the logs. More...
void | linphone_logging_service_trace (LinphoneLoggingService *log_service, const char *message)
| Write a LinphoneLogLevelTrace message to the logs. More...
void | linphone_logging_service_message (LinphoneLoggingService *log_service, const char *message)
| Write a LinphoneLogLevelMessage message to the logs. More...
void | linphone_logging_service_warning (LinphoneLoggingService *log_service, const char *message)
| Write a LinphoneLogLevelWarning message to the logs. More...
void | linphone_logging_service_error (LinphoneLoggingService *log_service, const char *message)
| Write a LinphoneLogLevelError message to the logs. More...
void | linphone_logging_service_fatal (LinphoneLoggingService *log_service, const char *message)
| Write a LinphoneLogLevelFatal message to the logs. More...
LinphoneLoggingServiceCbs * | linphone_logging_service_cbs_ref (LinphoneLoggingServiceCbs *cbs)
| Increases the reference counter. More...
void | linphone_logging_service_cbs_unref (LinphoneLoggingServiceCbs *cbs)
| Decreases the reference counter. More...
void | linphone_logging_service_cbs_set_log_message_written (LinphoneLoggingServiceCbs *cbs, LinphoneLoggingServiceCbsLogMessageWrittenCb cb)
| Sets the callback to call each time liblinphone writes a log message. More...
LinphoneLoggingServiceCbsLogMessageWrittenCb | linphone_logging_service_cbs_get_log_message_written (const LinphoneLoggingServiceCbs *cbs)
| Gets the value of the message event callback. More...
void | linphone_logging_service_cbs_set_user_data (LinphoneLoggingServiceCbs *cbs, void *user_data)
| Pass a pointer on a custom object. More...
void * | linphone_logging_service_cbs_get_user_data (const LinphoneLoggingServiceCbs *cbs)
| Gets the user_data pointer back. More...
MS2_DEPRECATED LinphoneLoggingServiceCbs * | linphone_logging_service_get_callbacks (const LinphoneLoggingService *log_service)
| Gets the logging service listener. More...

## Detailed Description

Logging service of Linphone.

## Typedef Documentation

## ◆ LinphoneLoggingService

typedef struct _LinphoneLoggingService LinphoneLoggingService

Singleton class giving access to logging features.

It supports custom domain, writing into a file as well as several verbosity levels. The LinphoneLoggingServiceCbs listener allows you to be notified each time a log is printed.

As the LinphoneLoggingService is a singleton, use linphone_logging_service_get() to get it.

## ◆ LinphoneLoggingServiceCbsLogMessageWrittenCb

typedef void(* LinphoneLoggingServiceCbsLogMessageWrittenCb) (LinphoneLoggingService *log_service, const char *domain, LinphoneLogLevel level, const char *message)

Type of callbacks called each time liblinphone write a log message.

Parameters

  log_service | A pointer on the logging service singleton.
  domain | A string describing which sub-library of liblinphone the message is coming from.
  level | Verbosity LinphoneLogLevel of the message.
  message | Content of the message.

## Enumeration Type Documentation

## ◆ _LinphoneLogLevel

enum _LinphoneLogLevel

Verbosity levels of log messages.

Enumerator
LinphoneLogLevelDebug | Level for debug messages.
LinphoneLogLevelTrace | Level for traces.
LinphoneLogLevelMessage | Level for information messages.
LinphoneLogLevelWarning | Level for warning messages.
LinphoneLogLevelError | Level for error messages.
LinphoneLogLevelFatal | Level for fatal error messages.

## Function Documentation

## ◆ linphone_logging_service_add_callbacks()

void linphone_logging_service_add_callbacks | ( | LinphoneLoggingService * | log_service,
|  | LinphoneLoggingServiceCbs * | cbs
| ) |  |

Adds a callback object to the list of listeners.

Parameters

  log_service | the LinphoneLoggingService object
  cbs | the LinphoneLoggingServiceCbs to add

## ◆ linphone_logging_service_cbs_get_log_message_written()

LinphoneLoggingServiceCbsLogMessageWrittenCb linphone_logging_service_cbs_get_log_message_written | ( | const LinphoneLoggingServiceCbs * | cbs | ) |

Gets the value of the message event callback.

Parameters

  cbs | the LinphoneLoggingServiceCbs object.

Returns
  the current LinphoneLoggingServiceCbsLogMessageWrittenCb

## ◆ linphone_logging_service_cbs_get_user_data()

void* linphone_logging_service_cbs_get_user_data | ( | const LinphoneLoggingServiceCbs * | cbs | ) |

Gets the user_data pointer back.

Parameters

  cbs | the LinphoneLoggingServiceCbs object.

Returns
  the user data pointer.

## ◆ linphone_logging_service_cbs_ref()

LinphoneLoggingServiceCbs* linphone_logging_service_cbs_ref | ( | LinphoneLoggingServiceCbs * | cbs | ) |

Increases the reference counter.

Parameters

  cbs | the LinphoneLoggingServiceCbs object.

Returns
  the same LinphoneLoggingServiceCbs object

## ◆ linphone_logging_service_cbs_set_log_message_written()

void linphone_logging_service_cbs_set_log_message_written | ( | LinphoneLoggingServiceCbs * | cbs,
|  | LinphoneLoggingServiceCbsLogMessageWrittenCb | cb
| ) |  |

Sets the callback to call each time liblinphone writes a log message.

Parameters

  cbs | the LinphoneLoggingServiceCbs object.
  cb | the LinphoneLoggingServiceCbsLogMessageWrittenCb to set

## ◆ linphone_logging_service_cbs_set_user_data()

void linphone_logging_service_cbs_set_user_data | ( | LinphoneLoggingServiceCbs * | cbs,
|  | void * | user_data
| ) |  |

Pass a pointer on a custom object.

That pointer can be get back by callbacks by using #linphone_logging_service_get_cbs() and linphone_logging_service_cbs_get_user_data().

Parameters

  cbs | the LinphoneLoggingServiceCbs object.
  user_data | the user data pointer.

## ◆ linphone_logging_service_cbs_unref()

void linphone_logging_service_cbs_unref | ( | LinphoneLoggingServiceCbs * | cbs | ) |

Decreases the reference counter.

The object is automatically destroyed once the counter reach 0.

Parameters

  cbs | the LinphoneLoggingServiceCbs object.

## ◆ linphone_logging_service_debug()

void linphone_logging_service_debug | ( | LinphoneLoggingService * | log_service,
|  | const char * | message
| ) |  |

Write a LinphoneLogLevelDebug message to the logs.

Parameters

  log_service | the LinphoneLoggingService object
  message | The log message.

## ◆ linphone_logging_service_error()

void linphone_logging_service_error | ( | LinphoneLoggingService * | log_service,
|  | const char * | message
| ) |  |

Write a LinphoneLogLevelError message to the logs.

Parameters

  log_service | the LinphoneLoggingService object
  message | The log message.

## ◆ linphone_logging_service_fatal()

void linphone_logging_service_fatal | ( | LinphoneLoggingService * | log_service,
|  | const char * | message
| ) |  |

Write a LinphoneLogLevelFatal message to the logs.

Parameters

  log_service | the LinphoneLoggingService object
  message | The log message.

## ◆ linphone_logging_service_get()

LinphoneLoggingService* linphone_logging_service_get | ( | void |  | ) |

Gets the singleton logging service object.

The singleton is automatically instantiated if it hasn't been done yet.

Returns
  A pointer on the LinphoneLoggingService singleton.

## ◆ linphone_logging_service_get_callbacks()

MS2_DEPRECATED LinphoneLoggingServiceCbs* linphone_logging_service_get_callbacks | ( | const LinphoneLoggingService * | log_service | ) |

Gets the logging service listener.

Parameters

  log_service | the LinphoneLoggingService object

Deprecated:
  19/02/2019 Use add_callbacks / remove_callbacks instead

## ◆ linphone_logging_service_get_current_callbacks()

LinphoneLoggingServiceCbs* linphone_logging_service_get_current_callbacks | ( | const LinphoneLoggingService * | log_service | ) |

Returns the current callbacks being called while iterating on callbacks.

Parameters

  log_service | the LinphoneLoggingService object

Returns
  A pointer to the current LinphoneLoggingServiceCbs object

## ◆ linphone_logging_service_get_domain()

const char* linphone_logging_service_get_domain | ( | LinphoneLoggingService * | log_service | ) |

Get the domain where application logs are written (for example with linphone_logging_service_message()).

Parameters

  log_service | the LinphoneLoggingService object

Returns
  The domain where application logs are written.

## ◆ linphone_logging_service_get_log_level_mask()

unsigned int linphone_logging_service_get_log_level_mask | ( | const LinphoneLoggingService * | log_service | ) |

Gets the log level mask.

Parameters

  log_service | the LinphoneLoggingService object

Returns
  the log level mask

## ◆ linphone_logging_service_message()

void linphone_logging_service_message | ( | LinphoneLoggingService * | log_service,
|  | const char * | message
| ) |  |

Write a LinphoneLogLevelMessage message to the logs.

Parameters

  log_service | the LinphoneLoggingService object
  message | The log message.

## ◆ linphone_logging_service_ref()

LinphoneLoggingService* linphone_logging_service_ref | ( | LinphoneLoggingService * | log_service | ) |

Increases the reference counter.

Parameters

  log_service | the LinphoneLoggingService object

Returns
  the same LinphoneLoggingService object

## ◆ linphone_logging_service_remove_callbacks()

void linphone_logging_service_remove_callbacks | ( | LinphoneLoggingService * | log_service,
|  | LinphoneLoggingServiceCbs * | cbs
| ) |  |

Removes a callback object from the list of listeners.

Parameters

  log_service | the LinphoneLoggingService object
  cbs | the LinphoneLoggingServiceCbs to remove

## ◆ linphone_logging_service_set_domain()

void linphone_logging_service_set_domain | ( | LinphoneLoggingService * | log_service,
|  | const char * | domain
| ) |  |

Set the domain where application logs are written (for example with linphone_logging_service_message()).

Parameters

  log_service | the LinphoneLoggingService object
  domain | The domain.

Note
  The domain is mandatory to write logs. This needs to be set before setting the log level.

## ◆ linphone_logging_service_set_log_file()

void linphone_logging_service_set_log_file | ( | const LinphoneLoggingService * | log_service,
|  | const char * | dir,
|  | const char * | filename,
|  | size_t | max_size
| ) |  |

Enables logging in a file.

That function enables an internal log handler that writes log messages in log-rotated files.

Parameters

  log_service | the LinphoneLoggingService object
  dir | Directory where to create the distinct parts of the log.
  filename | Name of the log file.
  max_size | The maximal size of each part of the log. The log rotating is triggered each time the currently opened log part reach that limit.

## ◆ linphone_logging_service_set_log_level()

void linphone_logging_service_set_log_level | ( | LinphoneLoggingService * | log_service,
|  | LinphoneLogLevel | level
| ) |  |

Set the verbosity of the log.

For instance, a level of LinphoneLogLevelMessage will let pass fatal, error, warning and message-typed messages whereas trace and debug messages will be dumped out.

Parameters

  log_service | the LinphoneLoggingService object
  level | the LinphoneLogLevel to set

## ◆ linphone_logging_service_set_log_level_mask()

void linphone_logging_service_set_log_level_mask | ( | LinphoneLoggingService * | log_service,
|  | unsigned int | mask
| ) |  |

Sets the types of messages that will be authorized to be written in the log.

Parameters

  log_service | the LinphoneLoggingService object
  mask | Example: LinphoneLogLevelMessage|LinphoneLogLevelError will ONLY let pass message-typed and error messages.

Note
  Calling that function reset the log level that has been specified by linphone_logging_service_set_log_level().

## ◆ linphone_logging_service_trace()

void linphone_logging_service_trace | ( | LinphoneLoggingService * | log_service,
|  | const char * | message
| ) |  |

Write a LinphoneLogLevelTrace message to the logs.

Parameters

  log_service | the LinphoneLoggingService object
  message | The log message.

## ◆ linphone_logging_service_unref()

void linphone_logging_service_unref | ( | LinphoneLoggingService * | log_service | ) |

Decreases the reference counter and destroy the object if the counter reaches 0.

Parameters

  log_service | the LinphoneLoggingService object

## ◆ linphone_logging_service_warning()

void linphone_logging_service_warning | ( | LinphoneLoggingService * | log_service,
|  | const char * | message
| ) |  |

Write a LinphoneLogLevelWarning message to the logs.

Parameters

  log_service | the LinphoneLoggingService object
  message | The log message.