summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuo Jinghua <sunmoon1997@gmail.com>2011-11-27 13:41:17 +0800
committerLuo Jinghua <sunmoon1997@gmail.com>2011-11-27 13:41:17 +0800
commitbb46772369eccd309a89014baaf4b4c564566df4 (patch)
tree8c223d39eccac1a6cd14debaf89507fbd9e5ea0d
parent06e88b17406634e305eae249c925729af24e1509 (diff)
SexyAppFramework: Added logLevelFromName()
-rw-r--r--osframework/source/SexyAppFramework/SexyLog.cpp26
-rw-r--r--osframework/source/SexyAppFramework/SexyLog.h2
2 files changed, 24 insertions, 4 deletions
diff --git a/osframework/source/SexyAppFramework/SexyLog.cpp b/osframework/source/SexyAppFramework/SexyLog.cpp
index f410a5e..81f34f0 100644
--- a/osframework/source/SexyAppFramework/SexyLog.cpp
+++ b/osframework/source/SexyAppFramework/SexyLog.cpp
@@ -6,17 +6,35 @@
namespace Sexy {
+static const char* LogNames[] = {
+ "debug", "info", "warn", "error"
+};
const char* logLevelName(LogLevel level)
{
- const char* names[] = {
- "debug", "info", "warn", "error"
- };
if (level >= LOG_DEBUG && level < LOG_LEVEL_MAX)
- return names[level];
+ return LogNames[level];
return "unknown";
}
+bool logLevelFromName(const char* name, LogLevel& level)
+{
+ if (!name || !*name)
+ return false;
+
+ std::string s = name;
+ inlineLower(s);
+ for (size_t i = 0; i < sizeof(LogNames) / sizeof(LogNames[0]); i++)
+ {
+ if (s == LogNames[i])
+ {
+ level = LogLevel(i);
+ return true;
+ }
+ }
+ return false;
+}
+
void log(LogLevel lvl, const std::string& tag, const std::string& s)
{
LogManager& mgr = LogManager::getInstance();
diff --git a/osframework/source/SexyAppFramework/SexyLog.h b/osframework/source/SexyAppFramework/SexyLog.h
index b3bb3ff..0370047 100644
--- a/osframework/source/SexyAppFramework/SexyLog.h
+++ b/osframework/source/SexyAppFramework/SexyLog.h
@@ -14,6 +14,8 @@ namespace Sexy {
};
const char* logLevelName(LogLevel level);
+ bool logLevelFromName(const char* name, LogLevel& level);
+
void logf(LogLevel lvl, const std::string& tag, const char* fmt, ...);
void logf(LogLevel lvl, const char* fmt, ...);
void log(LogLevel lvl, const std::string& tag, const std::string& s);