/*
- * Copyright (C) 2012 Tobias Brunner
+ * Copyright (C) 2012-2020 Tobias Brunner
* Copyright (C) 2006 Martin Willi
* HSR Hochschule fuer Technik Rapperswil
*
*/
bool ike_name;
+ /**
+ * Print the log level
+ */
+ bool log_level;
+
/**
* Mutex to ensure multi-line log messages are not torn apart
*/
private_sys_logger_t *this, debug_t group, level_t level, int thread,
ike_sa_t* ike_sa, const char *message)
{
- char groupstr[4], namestr[128] = "";
+ char groupstr[5], namestr[128] = "";
const char *current = message, *next;
/* cache group name and optional name string */
- snprintf(groupstr, sizeof(groupstr), "%N", debug_names, group);
-
this->lock->read_lock(this->lock);
+ if (this->log_level)
+ {
+ snprintf(groupstr, sizeof(groupstr), "%N%d", debug_names, group,
+ level);
+ }
+ else
+ {
+ snprintf(groupstr, sizeof(groupstr), "%N", debug_names, group);
+ }
+
if (this->ike_name && ike_sa)
{
if (ike_sa->get_peer_cfg(ike_sa))
}
METHOD(sys_logger_t, set_options, void,
- private_sys_logger_t *this, bool ike_name)
+ private_sys_logger_t *this, bool ike_name, bool log_level)
{
this->lock->write_lock(this->lock);
this->ike_name = ike_name;
+ this->log_level = log_level;
this->lock->unlock(this->lock);
}
/*
- * Copyright (C) 2012 Tobias Brunner
+ * Copyright (C) 2012-2020 Tobias Brunner
* Copyright (C) 2006 Martin Willi
* HSR Hochschule fuer Technik Rapperswil
*
* Set options used by this logger.
*
* @param ike_name TRUE to prefix the name of the IKE_SA
+ * @param log_level TRUE to include the log level in the message
*/
- void (*set_options) (sys_logger_t *this, bool ike_name);
+ void (*set_options) (sys_logger_t *this, bool ike_name, bool log_level);
/**
* Destroys a sys_logger_t object.
sys_logger_t *sys_logger;
debug_t group;
level_t def;
+ bool ike_name, log_level;
if (get_syslog_facility(facility) == -1)
{
return;
}
- sys_logger->set_options(sys_logger,
- lib->settings->get_bool(lib->settings, "%s.syslog.%s.ike_name",
- FALSE, lib->ns, facility));
+ ike_name = lib->settings->get_bool(lib->settings, "%s.syslog.%s.ike_name",
+ FALSE, lib->ns, facility);
+ log_level = lib->settings->get_bool(lib->settings, "%s.syslog.%s.log_level",
+ FALSE, lib->ns, facility);
+
+ sys_logger->set_options(sys_logger, ike_name, log_level);
def = lib->settings->get_int(lib->settings, "%s.syslog.%s.default", 1,
lib->ns, facility);