diff options
Diffstat (limited to 'Source/charon/utils')
-rw-r--r-- | Source/charon/utils/logger.c | 25 | ||||
-rw-r--r-- | Source/charon/utils/logger_manager.c | 8 | ||||
-rw-r--r-- | Source/charon/utils/logger_manager.h | 2 |
3 files changed, 20 insertions, 15 deletions
diff --git a/Source/charon/utils/logger.c b/Source/charon/utils/logger.c index 748a76568..6b1a91d8b 100644 --- a/Source/charon/utils/logger.c +++ b/Source/charon/utils/logger.c @@ -173,12 +173,7 @@ static void logg(private_logger_t *this, logger_level_t loglevel, char *format, static void log_bytes(private_logger_t *this, logger_level_t loglevel, char *label, char *bytes, size_t len) { static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; - - /* since me can't do multi-line output to syslog, - * we must do multiple syslogs. To avoid - * problems in output order, lock this by a mutex. - */ - pthread_mutex_lock(&mutex); + if ((this->level & loglevel) == loglevel) { @@ -187,6 +182,13 @@ static void log_bytes(private_logger_t *this, logger_level_t loglevel, char *lab char *buffer_pos; char *bytes_pos, *bytes_roof; int i; + int line_start = 0; + + /* since me can't do multi-line output to syslog, + * we must do multiple syslogs. To avoid + * problems in output order, lock this by a mutex. + */ + pthread_mutex_lock(&mutex); format = "%s (%d bytes)"; @@ -217,12 +219,13 @@ static void log_bytes(private_logger_t *this, logger_level_t loglevel, char *lab buffer_pos = buffer; if (this->output == NULL) { - syslog(LOG_INFO, "| %s", buffer); + syslog(LOG_INFO, "[=>] [%5d ] %s", line_start, buffer); } else { - fprintf(this->output, "| %s\n", buffer); + fprintf(this->output, "[=>] [%5d ] %s\n", line_start, buffer); } + line_start += 16; } else if ((i % 8) == 0) { @@ -249,15 +252,15 @@ static void log_bytes(private_logger_t *this, logger_level_t loglevel, char *lab buffer_pos = buffer; if (this->output == NULL) { - syslog(LOG_INFO, "| %s", buffer); + syslog(LOG_INFO, "[=>] [%5d ] %s", line_start, buffer); } else { - fprintf(this->output, "| %s\n", buffer); + fprintf(this->output, "[=>] [%5d ] %s\n", line_start, buffer); } } + pthread_mutex_unlock(&mutex); } - pthread_mutex_unlock(&mutex); } /** diff --git a/Source/charon/utils/logger_manager.c b/Source/charon/utils/logger_manager.c index 13f8e49ee..036024180 100644 --- a/Source/charon/utils/logger_manager.c +++ b/Source/charon/utils/logger_manager.c @@ -35,6 +35,7 @@ mapping_t logger_context_t_mappings[] = { {GENERATOR, "GENRAT"}, {IKE_SA, "IKE_SA"}, {IKE_SA_MANAGER, "ISAMGR"}, + {CHILD_SA, "CHLDSA"}, {MESSAGE, "MESSAG"}, {THREAD_POOL, "THPOOL"}, {WORKER, "WORKER"}, @@ -46,7 +47,6 @@ mapping_t logger_context_t_mappings[] = { {DAEMON, "DAEMON"}, {CONFIGURATION_MANAGER, "CONFIG"}, {ENCRYPTION_PAYLOAD, "ENCPLD"}, - {PRIME_POOL, "PRIMEP"}, {MAPPING_END, NULL}, }; @@ -178,6 +178,10 @@ static logger_t *create_logger(private_logger_manager_t *this, logger_context_t logger_level |= LEVEL1; log_thread_ids = TRUE; break; + case CHILD_SA: + logger_level |= LEVEL1|PRIVATE; + log_thread_ids = TRUE; + break; case CONFIGURATION_MANAGER: log_thread_ids = TRUE; break; @@ -198,8 +202,6 @@ static logger_t *create_logger(private_logger_manager_t *this, logger_context_t break; case THREAD_POOL: break; - case PRIME_POOL: - break; case SCHEDULER: logger_level = 0; break; diff --git a/Source/charon/utils/logger_manager.h b/Source/charon/utils/logger_manager.h index 3c04a55d4..41466b2a9 100644 --- a/Source/charon/utils/logger_manager.h +++ b/Source/charon/utils/logger_manager.h @@ -40,6 +40,7 @@ enum logger_context_t { GENERATOR, IKE_SA, IKE_SA_MANAGER, + CHILD_SA, MESSAGE, THREAD_POOL, WORKER, @@ -51,7 +52,6 @@ enum logger_context_t { DAEMON, CONFIGURATION_MANAGER, ENCRYPTION_PAYLOAD, - PRIME_POOL, }; |