- source documented

This commit is contained in:
Jan Hutter
2005-11-09 16:32:20 +00:00
parent e6fbf1d259
commit 6ae4efda08
2 changed files with 77 additions and 18 deletions
+20 -4
View File
@@ -55,7 +55,10 @@ struct private_logger_s {
}; };
/**
* implements logger_t-function log
*
*/
static status_t logg(private_logger_t *this, logger_level_t loglevel, char *format, ...) static status_t logg(private_logger_t *this, logger_level_t loglevel, char *format, ...)
{ {
if ((this->level & loglevel) == loglevel) if ((this->level & loglevel) == loglevel)
@@ -79,18 +82,30 @@ static status_t logg(private_logger_t *this, logger_level_t loglevel, char *form
return SUCCESS; return SUCCESS;
} }
/**
* implements logger_t-function enable_level
*
*/
static status_t enable_level(private_logger_t *this, logger_level_t log_level) static status_t enable_level(private_logger_t *this, logger_level_t log_level)
{ {
this->level |= log_level; this->level |= log_level;
return SUCCESS; return SUCCESS;
} }
/**
* implements logger_t-function disable_level
*
*/
static status_t disable_level(private_logger_t *this, logger_level_t log_level) static status_t disable_level(private_logger_t *this, logger_level_t log_level)
{ {
this->level &= (~log_level); this->level &= (~log_level);
return SUCCESS; return SUCCESS;
} }
/**
* implements logger_t-function destroy
*
*/
static status_t destroy(private_logger_t *this) static status_t destroy(private_logger_t *this)
{ {
if (this->target) if (this->target)
@@ -101,7 +116,10 @@ static status_t destroy(private_logger_t *this)
return SUCCESS; return SUCCESS;
} }
/*
* Described in Header
*
*/
logger_t *logger_create(char *logger_name, char *file, logger_level_t log_level) logger_t *logger_create(char *logger_name, char *file, logger_level_t log_level)
{ {
private_logger_t *this = allocator_alloc_thing(private_logger_t); private_logger_t *this = allocator_alloc_thing(private_logger_t);
@@ -137,5 +155,3 @@ logger_t *logger_create(char *logger_name, char *file, logger_level_t log_level)
return (logger_t*)this; return (logger_t*)this;
} }
+52 -9
View File
@@ -25,41 +25,84 @@
#include "types.h" #include "types.h"
/**
* Log Levels supported by the logger object
*/
typedef enum logger_level_e logger_level_t; typedef enum logger_level_e logger_level_t;
enum logger_level_e { enum logger_level_e {
/**
* basic control messages
*/
CONTROL = 1, CONTROL = 1,
/**
* detailed control messages
*/
CONTROL_MORE = 2, CONTROL_MORE = 2,
/**
* raw data dumps not containing private data
*/
RAW = 4, RAW = 4,
/**
* private data dumps
*/
PRIVATE = 8 PRIVATE = 8
}; };
/** /**
* @brief The logger object * @brief The logger object
*/ */
typedef struct logger_s logger_t; typedef struct logger_s logger_t;
struct logger_s { struct logger_s {
status_t (*log) (logger_t *this, logger_level_t loglevel, char *format, ...);
/**
* loggs an entry
*
* function is used like printf
*
* @param this logger_t-object
* @param loglevel loglevel of specific log entry
* @param format printf like format string
* @param ... printf like parameters
* @return SUCCESS
*/
status_t (*log) (logger_t *this, logger_level_t log_level, char *format, ...);
/**
* enables a loglevel for the current logger_t-object
*
* @param this logger_t-object
* @param log_level loglevel to enable
* @return SUCCESS
*/
status_t (*enable_level) (logger_t *this, logger_level_t log_level); status_t (*enable_level) (logger_t *this, logger_level_t log_level);
/**
* disables a loglevel for the current logger_t-object
*
* @param this logger_t-object
* @param log_level loglevel to disable
* @return SUCCESS
*/
status_t (*disable_level) (logger_t *this, logger_level_t log_level); status_t (*disable_level) (logger_t *this, logger_level_t log_level);
/** /**
* @brief Destroys a generator object * @brief destroys a logger_t object
* *
* @param generator generator object * @param this logger_t object
* @return SUCCESSFUL if succeeded, FAILED otherwise * @return SUCCESS if succeeded, FAILED otherwise
*/ */
status_t (*destroy) (logger_t *this); status_t (*destroy) (logger_t *this);
}; };
/** /**
* Constructor to create a logger * Constructor to create a logger_t-object
* *
* @param logger_name Name for the logger_t-object
* @param file FILE pointer to write the log-messages to. If NULL
* syslogger is used.
* @param log_level to assign to the new logger_t-object
* @return logger_t-object or NULL if failed
*/ */
logger_t *logger_create(char *logger_name, char *file, logger_level_t log_level); logger_t *logger_create(char *logger_name, char *file, logger_level_t log_level);