24 #include <logging/factory.h> 25 #include <logging/console.h> 26 #include <logging/file.h> 27 #include <logging/syslog.h> 28 #include <logging/multi.h> 68 LoggerFactory::string_to_loglevel(
const char *log_level)
70 std::string ll = log_level;
72 if (ll ==
"info" || ll ==
"INFO") {
74 }
else if (ll ==
"warn" || ll ==
"WARN") {
76 }
else if (ll ==
"error" || ll ==
"ERROR") {
103 if ( strcmp(type,
"console") == 0 ) {
106 }
else if ( strcmp(type,
"file") == 0 ) {
107 char *tmp = strdup(as);
109 char *r = strtok_r(tmp,
":", &saveptr);
110 const char *file_name;
111 r = strtok_r(tmp,
":", &saveptr);
113 file_name =
"unnamed.log";
119 }
else if ( strcmp(type,
"syslog") == 0 ) {
148 char *logger_string = strdup(as);
149 char *str = logger_string;
151 const char *type, *args, *level;
152 char *typeargs_saveptr, *level_saveptr, *type_str;
153 const char *logger_delim =
";";
154 const char *logger_typeargs_delim =
":";
155 const char *logger_level_delim =
"/";
156 while ((r = strtok_r(str, logger_delim, &saveptr)) != NULL ) {
157 type = strtok_r(r, logger_typeargs_delim, &typeargs_saveptr);
158 args = strtok_r(NULL, logger_typeargs_delim, &typeargs_saveptr);
160 type_str = strdup(type);
162 type = strtok_r(type_str, logger_level_delim, &level_saveptr);
163 level = strtok_r(NULL, logger_level_delim, &level_saveptr);
165 if ( type == NULL ) {
168 if ( args == NULL ) {
173 Logger *l = instance(type, args);
180 e.
append(
"Could not open logger '%s:%s'", type, args);
informational output about normal procedures
Interface for logging to a specified file.
Interface for logging to stderr.
Fawkes library namespace.
warning, should be investigated but software still functions, an example is that something was reques...
static Logger * instance(const char *type, const char *as)
Get logger instance.
static MultiLogger * multilogger_instance(const char *as, Logger::LogLevel default_ll=Logger::LL_DEBUG)
Create MultiLogger instance.
Log through multiple loggers.
error, may be recoverable (software still running) or not (software has to terminate).
virtual void set_loglevel(LogLevel level)
Sets the log level.
Base class for exceptions in Fawkes.
void add_logger(Logger *logger)
Add a logger.
debug output, relevant only when tracking down problems
Interface for logging to syslog.
UnknownLoggerTypeException(const char *msg=NULL)
Constructor.
void append(const char *format,...)
Append messages to the message list.
virtual void set_loglevel(LogLevel level)
Sets the log level.