*/
static status_t destroy(private_logger_t *this)
{
+ allocator_free(this->name);
allocator_free(this);
return SUCCESS;
}
return NULL;
}
+ if (logger_name == NULL)
+ {
+ logger_name = "";
+ }
+
this->public.log = (status_t(*)(logger_t*,logger_level_t,char*,...))logg;
this->public.log_bytes = (status_t(*)(logger_t*, logger_level_t, char*,char*,size_t))log_bytes;
this->public.log_chunk = log_chunk;
/* private variables */
this->level = log_level;
- this->name = logger_name;
+ this->name = allocator_alloc(strlen(logger_name) + 1);
+ if (this->name == NULL)
+ {
+ allocator_free(this);
+ return NULL;
+ }
+ strcpy(this->name,logger_name);
this->output = output;
case RECEIVER_THREAD:
context_name = "RECEIVER_THREAD";
break;
+ case THREAD_POOL:
+ context_name = "THREAD_POOL";
+ break;
case TESTER:
context_name = "TESTER";
output = stdout;
}
pthread_mutex_lock(&(this->mutex));
- snprintf(buffer, MAX_LOGGER_NAME, "%s - %s",context_name,name);
+ if (name != NULL)
+ {
+ snprintf(buffer, MAX_LOGGER_NAME, "%s - %s",context_name,name);
+ /* create logger with default log_level */
+ *logger = logger_create(buffer,logger_level,output);
+ }
+ else
+ {
+ *logger = logger_create(context_name,logger_level,output);
+ }
- /* create logger with default log_level */
- *logger = logger_create(buffer,logger_level,output);
if (*logger == NULL)
{
GENERATOR,
IKE_SA,
MESSAGE,
+ THREAD_POOL,
WORKER_THREAD,
EVENT_THREAD,
SENDER_THREAD,
#include <arpa/inet.h>
#include "allocator.h"
+#include "globals.h"
#include "types.h"
#include "parser.h"
#include "logger.h"
*/
static status_t destroy(private_parser_t *this)
{
- this->logger->destroy(this->logger);
+ global_logger_manager->destroy_logger(global_logger_manager,this->logger);
allocator_free(this);
return SUCCESS;
return NULL;
}
- this->logger = logger_create("parser", ALL,NULL);
+ global_logger_manager->get_logger(global_logger_manager,PARSER,&(this->logger),"");
+
if (this->logger == NULL)
{
allocator_free(this);
}
/* free mem */
- this->logger->destroy(this->logger);
+ global_logger_manager->destroy_logger(global_logger_manager, this->logger);
allocator_free(this->threads);
allocator_free(this);
return SUCCESS;
allocator_free(this);
return NULL;
}
- this->logger = logger_create("thread_pool", ALL,NULL);
+ global_logger_manager->get_logger(global_logger_manager,THREAD_POOL,&(this->logger),NULL);
if (this->threads == NULL)
{
allocator_free(this);