libosmovty
0.9.6.20171026
Osmocom VTY library
|
Configuration of logging from VTY. More...
#include <stdlib.h>
#include <string.h>
#include "../../config.h"
#include <osmocom/core/talloc.h>
#include <osmocom/core/logging.h>
#include <osmocom/core/utils.h>
#include <osmocom/core/strrb.h>
#include <osmocom/core/loggingrb.h>
#include <osmocom/core/gsmtap.h>
#include <osmocom/vty/command.h>
#include <osmocom/vty/buffer.h>
#include <osmocom/vty/vty.h>
#include <osmocom/vty/telnet_interface.h>
#include <osmocom/vty/logging.h>
#include <syslog.h>
Macros | |
#define | LOG_STR "Configure logging sub-system\n" |
#define | SHOW_LOG_STR "Show current logging configuration\n" |
Functions | |
static void | _vty_output (struct log_target *tgt, unsigned int level, const char *line) |
struct log_target * | log_target_create_vty (struct vty *vty) |
DEFUN (enable_logging, enable_logging_cmd,"logging enable", LOGGING_STR"Enables logging to this vty\n") | |
struct log_target * | osmo_log_vty2tgt (struct vty *vty) |
DEFUN (logging_fltr_all, logging_fltr_all_cmd,"logging filter all (0|1)", LOGGING_STR FILTER_STR"Do you want to log all messages?\n""Only print messages matched by other filters\n""Bypass filter and print all messages\n") | |
DEFUN (logging_use_clr, logging_use_clr_cmd,"logging color (0|1)", LOGGING_STR"Configure color-printing for log messages\n""Don't use color for printing messages\n""Use color for printing messages\n") | |
DEFUN (logging_prnt_timestamp, logging_prnt_timestamp_cmd,"logging timestamp (0|1)", LOGGING_STR"Configure log message timestamping\n""Don't prefix each log message\n""Prefix each log message with current timestamp\n") | |
DEFUN (logging_prnt_ext_timestamp, logging_prnt_ext_timestamp_cmd,"logging print extended-timestamp (0|1)", LOGGING_STR"Log output settings\n""Configure log message timestamping\n""Don't prefix each log message\n""Prefix each log message with current timestamp with YYYYMMDDhhmmssnnn\n") | |
DEFUN (logging_prnt_cat, logging_prnt_cat_cmd,"logging print category (0|1)", LOGGING_STR"Log output settings\n""Configure log message\n""Don't prefix each log message\n""Prefix each log message with category/subsystem name\n") | |
DEFUN (logging_level, logging_level_cmd, NULL, NULL) | |
DEFUN (logging_set_category_mask, logging_set_category_mask_cmd,"logging set-log-mask MASK", LOGGING_STR"Set the logmask of this logging target\n""The logmask to use\n") | |
ALIAS_DEPRECATED (logging_set_category_mask, logging_set_category_mask_old_cmd,"logging set log mask MASK", LOGGING_STR"Decide which categories to output.\n""Log commands\n""Mask commands\n""The logmask to use\n") | |
DEFUN (diable_logging, disable_logging_cmd,"logging disable", LOGGING_STR"Disables logging to this vty\n") | |
static void | vty_print_logtarget (struct vty *vty, const struct log_info *info, const struct log_target *tgt) |
DEFUN (show_logging_vty, show_logging_vty_cmd,"show logging vty", SHOW_STR SHOW_LOG_STR"Show current logging configuration for this vty\n") | |
DEFUN (show_alarms, show_alarms_cmd,"show alarms", SHOW_STR SHOW_LOG_STR"Show the contents of the logging ringbuffer\n") | |
gDEFUN (cfg_description, cfg_description_cmd,"description .TEXT","Save human-readable description of the object\n""Text until the end of the line\n") | |
gDEFUN (cfg_no_description, cfg_no_description_cmd,"no description", NO_STR"Remove description of the object\n") | |
static int | _cfg_log_syslog (struct vty *vty, int facility) |
DEFUN (cfg_log_syslog_local, cfg_log_syslog_local_cmd,"log syslog local <0-7>", LOG_STR"Logging via syslog\n""Syslog LOCAL facility\n""Local facility number\n") | |
DEFUN (cfg_log_syslog, cfg_log_syslog_cmd,"log syslog (authpriv|cron|daemon|ftp|lpr|mail|news|user|uucp)", LOG_STR"Logging via syslog\n""Security/authorization messages facility\n""Clock daemon (cron/at) facility\n""General system daemon facility\n""Ftp daemon facility\n""Line printer facility\n""Mail facility\n""News facility\n""Generic facility\n""UUCP facility\n") | |
DEFUN (cfg_no_log_syslog, cfg_no_log_syslog_cmd,"no log syslog", NO_STR LOG_STR"Logging via syslog\n") | |
DEFUN (cfg_log_gsmtap, cfg_log_gsmtap_cmd,"log gsmtap [HOSTNAME]", LOG_STR"Logging via GSMTAP\n""Host name to send the GSMTAP logging to (UDP port 4729)\n") | |
DEFUN (cfg_log_stderr, cfg_log_stderr_cmd,"log stderr", LOG_STR"Logging via STDERR of the process\n") | |
DEFUN (cfg_no_log_stderr, cfg_no_log_stderr_cmd,"no log stderr", NO_STR LOG_STR"Logging via STDERR of the process\n") | |
DEFUN (cfg_log_file, cfg_log_file_cmd,"log file .FILENAME", LOG_STR"Logging to text file\n""Filename\n") | |
DEFUN (cfg_no_log_file, cfg_no_log_file_cmd,"no log file .FILENAME", NO_STR LOG_STR"Logging to text file\n""Filename\n") | |
DEFUN (cfg_log_alarms, cfg_log_alarms_cmd,"log alarms <2-32700>", LOG_STR"Logging alarms to osmo_strrb\n""Maximum number of messages to log\n") | |
DEFUN (cfg_no_log_alarms, cfg_no_log_alarms_cmd,"no log alarms", NO_STR LOG_STR"Logging alarms to osmo_strrb\n") | |
static int | config_write_log_single (struct vty *vty, struct log_target *tgt) |
static int | config_write_log (struct vty *vty) |
void | logging_vty_add_cmds () |
Register logging related commands to the VTY. More... | |
Variables | |
const struct log_info * | osmo_log_info |
struct cmd_node | cfg_log_node |
static const int | local_sysl_map [] |
struct host | host |
static struct value_string | sysl_level_names [] |
Configuration of logging from VTY.
This module implements
You have to call logging_vty_add_cmds from your application once to enable both of the above.
#define LOG_STR "Configure logging sub-system\n" |
#define SHOW_LOG_STR "Show current logging configuration\n" |
|
static |
References host::app_info, CFG_LOG_NODE, CMD_SUCCESS, CMD_WARNING, vty::index, log_add_target(), log_target_create_syslog(), log_target_destroy(), log_target_find(), LOG_TGT_TYPE_SYSLOG, vty_app_info::name, vty::node, VTY_NEWLINE, and vty_out().
Referenced by DEFUN().
|
static |
References log_target::tgt_vty, and vty_out().
Referenced by log_target_create_vty().
ALIAS_DEPRECATED | ( | logging_set_category_mask | , |
logging_set_category_mask_old_cmd | , | ||
"logging set log mask MASK" | , | ||
LOGGING_STR"Decide which categories to output.\n""Log commands\n""Mask commands\n""The logmask to use\n" | |||
) |
Referenced by DEFUN().
|
static |
References config_write_log_single(), log_target::entry, vty::index, llist_for_each_entry, and osmo_log_target_list.
Referenced by logging_vty_add_cmds().
|
static |
References log_info::cat, log_target::categories, DLSTATS, log_target::filter_map, get_value_string(), LOG_FLT_ALL, log_level_str(), log_target_rb_avail_size(), LOG_TGT_TYPE_FILE, LOG_TGT_TYPE_GSMTAP, LOG_TGT_TYPE_STDERR, LOG_TGT_TYPE_STRRB, LOG_TGT_TYPE_SYSLOG, LOG_TGT_TYPE_VTY, LOGL_ERROR, log_target::loglevel, log_category::loglevel, LOGP, log_info_cat::name, log_info::num_cat, osmo_str2lower(), log_target::print_category, log_target::print_ext_timestamp, log_target::print_timestamp, log_info::save_fn, log_target::tgt_file, log_target::tgt_gsmtap, log_target::tgt_syslog, log_target::type, log_target::use_color, VTY_NEWLINE, and vty_out().
Referenced by config_write_log().
DEFUN | ( | enable_logging | , |
enable_logging_cmd | , | ||
"logging enable" | , | ||
LOGGING_STR"Enables logging to this vty\n" | |||
) |
References CMD_SUCCESS, CMD_WARNING, telnet_connection::dbg, if(), log_add_target(), log_target_create_vty(), vty::priv, VTY_NEWLINE, and vty_out().
DEFUN | ( | logging_fltr_all | , |
logging_fltr_all_cmd | , | ||
"logging filter all (0|1)" | , | ||
LOGGING_STR FILTER_STR"Do you want to log all messages?\n""Only print messages matched by other filters\n""Bypass filter and print all messages\n" | |||
) |
References CMD_SUCCESS, CMD_WARNING, log_set_all_filter(), and osmo_log_vty2tgt().
DEFUN | ( | logging_use_clr | , |
logging_use_clr_cmd | , | ||
"logging color (0|1)" | , | ||
LOGGING_STR"Configure color-printing for log messages\n""Don't use color for printing messages\n""Use color for printing messages\n" | |||
) |
References CMD_SUCCESS, CMD_WARNING, log_set_use_color(), and osmo_log_vty2tgt().
DEFUN | ( | logging_prnt_timestamp | , |
logging_prnt_timestamp_cmd | , | ||
"logging timestamp (0|1)" | , | ||
LOGGING_STR"Configure log message timestamping\n""Don't prefix each log message\n""Prefix each log message with current timestamp\n" | |||
) |
References CMD_SUCCESS, CMD_WARNING, log_set_print_timestamp(), and osmo_log_vty2tgt().
DEFUN | ( | logging_prnt_ext_timestamp | , |
logging_prnt_ext_timestamp_cmd | , | ||
"logging print extended-timestamp (0|1)" | , | ||
LOGGING_STR"Log output settings\n""Configure log message timestamping\n""Don't prefix each log message\n""Prefix each log message with current timestamp with YYYYMMDDhhmmssnnn\n" | |||
) |
References CMD_SUCCESS, CMD_WARNING, log_set_print_extended_timestamp(), and osmo_log_vty2tgt().
DEFUN | ( | logging_prnt_cat | , |
logging_prnt_cat_cmd | , | ||
"logging print category (0|1)" | , | ||
LOGGING_STR"Log output settings\n""Configure log message\n""Don't prefix each log message\n""Prefix each log message with category/subsystem name\n" | |||
) |
References CMD_SUCCESS, CMD_WARNING, log_set_print_category(), and osmo_log_vty2tgt().
DEFUN | ( | logging_level | , |
logging_level_cmd | , | ||
NULL | , | ||
NULL | |||
) |
DEFUN | ( | logging_set_category_mask | , |
logging_set_category_mask_cmd | , | ||
"logging set-log-mask MASK" | , | ||
LOGGING_STR"Set the logmask of this logging target\n""The logmask to use\n" | |||
) |
References ALIAS_DEPRECATED(), CMD_SUCCESS, CMD_WARNING, log_parse_category_mask(), LOGGING_STR, and osmo_log_vty2tgt().
DEFUN | ( | diable_logging | , |
disable_logging_cmd | , | ||
"logging disable" | , | ||
LOGGING_STR"Disables logging to this vty\n" | |||
) |
References CMD_SUCCESS, CMD_WARNING, telnet_connection::dbg, if(), log_del_target(), osmo_log_vty2tgt(), and vty::priv.
DEFUN | ( | show_logging_vty | , |
show_logging_vty_cmd | , | ||
"show logging vty" | , | ||
SHOW_STR SHOW_LOG_STR"Show current logging configuration for this vty\n" | |||
) |
References CMD_SUCCESS, CMD_WARNING, osmo_log_vty2tgt(), and vty_print_logtarget().
DEFUN | ( | show_alarms | , |
show_alarms_cmd | , | ||
"show alarms" | , | ||
SHOW_STR SHOW_LOG_STR"Show the contents of the logging ringbuffer\n" | |||
) |
DEFUN | ( | cfg_log_syslog_local | , |
cfg_log_syslog_local_cmd | , | ||
"log syslog local <0-7>" | , | ||
LOG_STR"Logging via syslog\n""Syslog LOCAL facility\n""Local facility number\n" | |||
) |
References _cfg_log_syslog(), log_target::facility, and local_sysl_map.
DEFUN | ( | cfg_log_syslog | , |
cfg_log_syslog_cmd | , | ||
"log syslog (authpriv|cron|daemon|ftp|lpr|mail|news|user|uucp)" | , | ||
LOG_STR"Logging via syslog\n""Security/authorization messages facility\n""Clock daemon (cron/at) facility\n""General system daemon facility\n""Ftp daemon facility\n""Line printer facility\n""Mail facility\n""News facility\n""Generic facility\n""UUCP facility\n" | |||
) |
References _cfg_log_syslog(), and get_string_value().
DEFUN | ( | cfg_no_log_syslog | , |
cfg_no_log_syslog_cmd | , | ||
"no log syslog" | , | ||
NO_STR LOG_STR"Logging via syslog\n" | |||
) |
References CMD_SUCCESS, CMD_WARNING, log_target_destroy(), log_target_find(), LOG_TGT_TYPE_SYSLOG, VTY_NEWLINE, and vty_out().
DEFUN | ( | cfg_no_log_stderr | , |
cfg_no_log_stderr_cmd | , | ||
"no log stderr" | , | ||
NO_STR LOG_STR"Logging via STDERR of the process\n" | |||
) |
References CMD_SUCCESS, CMD_WARNING, log_target_destroy(), log_target_find(), LOG_TGT_TYPE_STDERR, VTY_NEWLINE, and vty_out().
DEFUN | ( | cfg_log_file | , |
cfg_log_file_cmd | , | ||
"log file .FILENAME" | , | ||
LOG_STR"Logging to text file\n""Filename\n" | |||
) |
DEFUN | ( | cfg_no_log_file | , |
cfg_no_log_file_cmd | , | ||
"no log file .FILENAME" | , | ||
NO_STR LOG_STR"Logging to text file\n""Filename\n" | |||
) |
References CMD_SUCCESS, CMD_WARNING, log_target::fname, log_target_destroy(), log_target_find(), LOG_TGT_TYPE_FILE, VTY_NEWLINE, and vty_out().
DEFUN | ( | cfg_log_alarms | , |
cfg_log_alarms_cmd | , | ||
"log alarms <2-32700>" | , | ||
LOG_STR"Logging alarms to osmo_strrb\n""Maximum number of messages to log\n" | |||
) |
DEFUN | ( | cfg_no_log_alarms | , |
cfg_no_log_alarms_cmd | , | ||
"no log alarms" | , | ||
NO_STR LOG_STR"Logging alarms to osmo_strrb\n" | |||
) |
References CMD_SUCCESS, CMD_WARNING, log_target_destroy(), log_target_find(), LOG_TGT_TYPE_STRRB, VTY_NEWLINE, and vty_out().
gDEFUN | ( | cfg_description | , |
cfg_description_cmd | , | ||
"description .TEXT" | , | ||
"Save human-readable description of the object\n""Text until the end of the line\n" | |||
) |
References argv_concat(), CMD_SUCCESS, CMD_WARNING, vty::index_sub, VTY_NEWLINE, and vty_out().
gDEFUN | ( | cfg_no_description | , |
cfg_no_description_cmd | , | ||
"no description" | , | ||
NO_STR"Remove description of the object\n" | |||
) |
References CMD_SUCCESS, CMD_WARNING, vty::index_sub, VTY_NEWLINE, and vty_out().
struct log_target* log_target_create_vty | ( | struct vty * | vty | ) |
References _vty_output(), log_target_create(), log_target::output, log_target::tgt_vty, and log_target::vty.
Referenced by DEFUN().
void logging_vty_add_cmds | ( | ) |
Register logging related commands to the VTY.
Call this once from your application if you want to support those commands.
References CFG_LOG_NODE, CONFIG_NODE, config_write_log(), install_element(), install_element_ve(), install_node(), log_vty_command_description(), and log_vty_command_string().
struct log_target* osmo_log_vty2tgt | ( | struct vty * | vty | ) |
References CFG_LOG_NODE, telnet_connection::dbg, if(), vty::index, vty::node, vty::priv, VTY_NEWLINE, and vty_out().
Referenced by DEFUN().
|
static |
References log_info::cat, log_target::categories, log_info_cat::description, log_category::enabled, log_target::filter_map, LOG_FLT_ALL, log_level_str(), log_category::loglevel, log_target::loglevel, log_info_cat::name, log_info::num_cat, log_info::print_fn, log_target::print_timestamp, log_target::use_color, VTY_NEWLINE, and vty_out().
Referenced by DEFUN().
struct cmd_node cfg_log_node |
|
static |
Referenced by DEFUN().
|
static |