### vsi::runtime::Log The runtime provides a modular logging interface that can be enable when the executable is started.1 #### Function Reference - `Log(const char *name)`: Construct the class. - `name`: Name is used both as part of the logging entry and as a filter when `VSI_LOG_COMPS` is used.1 - `print(LOG_LVL lvl, const char *__restrict fmt, ...)`: Print a log entry to cout. - `lvl`: Specify a lvl. If the level is lower than the level that environment variable VSI_LOG_LVL is set to, the method will be set to void. Valid levels are `LOG_CRIT`, `LOG_ERR`, `LOG_DBG`, `LOG_INFO` and `LOG_VERBOSE`. - `fmt`: Format string. Similar to printf format string. - `...`: Variadic parameters. Similar to printf. - `print(LOG_LVL lvl, unsigned int opts, const char *__restrict fmt, ...)`: Print a log entry to cout. - `lvl`: Specify a lvl. If the level is lower than the level that environment variable VSI_LOG_LVL is set to, the method will be set to void. Valid levels are `LOG_CRIT`, `LOG_ERR`, `LOG_DBG`, `LOG_INFO` and `LOG_VERBOSE`. - `opts`: Used options to modify the behavior of formatting. Valid opts are `OPT_NOCOMP`, `OPT_NONEWLINE`, `OPT_SYSERR`. - `OPT_NOCOMP`: Don't append the component name to the log entry. - `OPT_NONEWLINE`: Don't append a newline to the log entry. - `OPT_SYSERR`: Appends the string retrieved by `strerror(errno)`. - `fmt`: Format string. Similar to printf format string. - `...`: Variadic parameters. Similar to printf. - `print_if(bool cond, LOG_LVL lvl, const char *__restrict fmt, ...)`: - `cond`: Print this entry if the expression evaluate to true. - `lvl`: Specify a lvl. If the level is lower than the level that environment variable VSI_LOG_LVL is set to, the method will be set to void. Valid levels are `LOG_CRIT`, `LOG_ERR`, `LOG_DBG`, `LOG_INFO` and `LOG_VERBOSE`. - `fmt`: Format string. Similar to printf format string. - `...`: Variadic parameters. Similar to printf. - `print_if(bool cond, LOG_LVL lvl, unsigned int opts, const char *__restrict fmt, ...)`: - `cond`: Print this entry if the expression evaluate to true. - `lvl`: Specify a lvl. If the level is lower than the level that environment variable VSI_LOG_LVL is set to, the method will be set to void. Valid levels are `LOG_CRIT`, `LOG_ERR`, `LOG_DBG`, `LOG_INFO` and `LOG_VERBOSE`. - `opts`: Used options to modify the behavior of formatting. Valid opts are `OPT_NOCOMP`, `OPT_NONEWLINE`, `OPT_SYSERR`, `OPT_EXIT`. - `OPT_NOCOMP`: Don't append the component name to the log entry. - `OPT_NONEWLINE`: Don't append a newline to the log entry. - `OPT_SYSERR`: Appends the string retrieved by `strerror(errno)`. - `OPT_EXIT`: Exit the execution in case of error. - `fmt`: Format string. Similar to printf format string. - `...`: Variadic parameters. Similar to printf. - `char *name()`: Return the name of the component that this log is constructed for. - return: Name of the component. #### Footnotes 1. [Logging](../usage/logging.html)