24 #include <logging/console.h> 25 #include <logging/factory.h> 26 #include <logging/file.h> 27 #include <logging/multi.h> 28 #include <logging/syslog.h> 67 LoggerFactory::string_to_loglevel(
const char *log_level)
69 std::string ll = log_level;
71 if (ll ==
"info" || ll ==
"INFO") {
73 }
else if (ll ==
"warn" || ll ==
"WARN") {
75 }
else if (ll ==
"error" || ll ==
"ERROR") {
102 if (strcmp(type,
"console") == 0) {
105 }
else if (strcmp(type,
"file") == 0) {
106 char * tmp = strdup(as);
108 char * r = strtok_r(tmp,
":", &saveptr);
109 const char *file_name;
110 r = strtok_r(tmp,
":", &saveptr);
112 file_name =
"unnamed.log";
118 }
else if (strcmp(type,
"syslog") == 0) {
147 char * logger_string = strdup(as);
148 char * str = logger_string;
150 const char *type, *args, *level;
151 char * typeargs_saveptr, *level_saveptr, *type_str;
152 const char *logger_delim =
";";
153 const char *logger_typeargs_delim =
":";
154 const char *logger_level_delim =
"/";
155 while ((r = strtok_r(str, logger_delim, &saveptr)) != NULL) {
156 type = strtok_r(r, logger_typeargs_delim, &typeargs_saveptr);
157 args = strtok_r(NULL, logger_typeargs_delim, &typeargs_saveptr);
159 type_str = strdup(type);
161 type = strtok_r(type_str, logger_level_delim, &level_saveptr);
162 level = strtok_r(NULL, logger_level_delim, &level_saveptr);
179 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.
Unknown logger type exception.
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.