Commit 24d6b776 authored by Adam Simpkins's avatar Adam Simpkins Committed by Facebook Github Bot

logging: rename the `DEBUG` log level to `DBG`

Summary:
I ran into some open source projects that define `DEBUG` as a preprocessor
macro on the compiler command line.  (They effectively defined it as the
opposite of `NDEBUG`.)  Doing some Google searches revealed that there are a
number of projects that appear to use this as a macro.

Therefore this diff renames the `DEBUG` log level enum value to `DBG` to avoid
potentially conflicting with projects that do use `DEBUG` as a macro name.

I did keep the behavior that `logLevelToString()` returns "DEBUG" for an input
of `LogLevel::DBG`.

Reviewed By: yfeldblum

Differential Revision: D6690465

fbshipit-source-id: 35bb1698afb45eb670e60c192f21390cbf09331d
parent 489eeb1c
...@@ -34,7 +34,7 @@ LogLevel stringToLogLevel(StringPiece name) { ...@@ -34,7 +34,7 @@ LogLevel stringToLogLevel(StringPiece name) {
// If the string is of the form "LogLevel::foo" or "LogLevel(foo)" // If the string is of the form "LogLevel::foo" or "LogLevel(foo)"
// strip it down just to "foo". This makes sure we can process both // strip it down just to "foo". This makes sure we can process both
// the "LogLevel::DEBUG" and "LogLevel(1234)" formats produced by // the "LogLevel::WARN" and "LogLevel(1234)" formats produced by
// logLevelToString(). // logLevelToString().
constexpr StringPiece lowercasePrefix{"loglevel::"}; constexpr StringPiece lowercasePrefix{"loglevel::"};
constexpr StringPiece wrapperPrefix{"loglevel("}; constexpr StringPiece wrapperPrefix{"loglevel("};
...@@ -49,8 +49,8 @@ LogLevel stringToLogLevel(StringPiece name) { ...@@ -49,8 +49,8 @@ LogLevel stringToLogLevel(StringPiece name) {
return LogLevel::UNINITIALIZED; return LogLevel::UNINITIALIZED;
} else if (lowerName == "none") { } else if (lowerName == "none") {
return LogLevel::NONE; return LogLevel::NONE;
} else if (lowerName == "debug") { } else if (lowerName == "debug" || lowerName == "dbg") {
return LogLevel::DEBUG; return LogLevel::DBG;
} else if (lowerName == "info") { } else if (lowerName == "info") {
return LogLevel::INFO; return LogLevel::INFO;
} else if (lowerName == "warn" || lowerName == "warning") { } else if (lowerName == "warn" || lowerName == "warning") {
...@@ -90,7 +90,7 @@ string logLevelToString(LogLevel level) { ...@@ -90,7 +90,7 @@ string logLevelToString(LogLevel level) {
return "UNINITIALIZED"; return "UNINITIALIZED";
} else if (level == LogLevel::NONE) { } else if (level == LogLevel::NONE) {
return "NONE"; return "NONE";
} else if (level == LogLevel::DEBUG) { } else if (level == LogLevel::DBG) {
return "DEBUG"; return "DEBUG";
} else if (level == LogLevel::INFO) { } else if (level == LogLevel::INFO) {
return "INFO"; return "INFO";
...@@ -107,7 +107,7 @@ string logLevelToString(LogLevel level) { ...@@ -107,7 +107,7 @@ string logLevelToString(LogLevel level) {
} }
if (static_cast<uint32_t>(level) <= static_cast<uint32_t>(LogLevel::DBG0) && if (static_cast<uint32_t>(level) <= static_cast<uint32_t>(LogLevel::DBG0) &&
static_cast<uint32_t>(level) > static_cast<uint32_t>(LogLevel::DEBUG)) { static_cast<uint32_t>(level) > static_cast<uint32_t>(LogLevel::DBG)) {
auto num = auto num =
static_cast<uint32_t>(LogLevel::DBG0) - static_cast<uint32_t>(level); static_cast<uint32_t>(LogLevel::DBG0) - static_cast<uint32_t>(level);
return folly::to<string>("DBG", num); return folly::to<string>("DBG", num);
......
...@@ -40,7 +40,17 @@ enum class LogLevel : uint32_t { ...@@ -40,7 +40,17 @@ enum class LogLevel : uint32_t {
NONE = 1, NONE = 1,
MIN_LEVEL = 1, MIN_LEVEL = 1,
DEBUG = 900, // "DBG" is the lowest (aka most verbose) debug log level.
// This level is intended to be primarily used in log category settings.
// In your code it is usually better to use one of the finer-grained DBGn
// levels. In your log category settings you can then set the log category
// level to a specific DBGn level, or to to main DBG level to enable all DBGn
// messages.
//
// This is named "DBG" rather than "DEBUG" since some open source projects
// define "DEBUG" as a preprocessor macro.
DBG = 900,
DBG0 = 1000, DBG0 = 1000,
DBG1 = 999, DBG1 = 999,
DBG2 = 998, DBG2 = 998,
......
...@@ -101,11 +101,11 @@ TEST(ConfigUpdate, updateLogLevels) { ...@@ -101,11 +101,11 @@ TEST(ConfigUpdate, updateLogLevels) {
parseLogConfig("sys=warn,foo.test=debug,foo.test.stuff=warn")); parseLogConfig("sys=warn,foo.test=debug,foo.test.stuff=warn"));
EXPECT_EQ(LogLevel::WARN, db.getCategory("sys")->getLevel()); EXPECT_EQ(LogLevel::WARN, db.getCategory("sys")->getLevel());
EXPECT_EQ(LogLevel::WARN, db.getCategory("sys")->getEffectiveLevel()); EXPECT_EQ(LogLevel::WARN, db.getCategory("sys")->getEffectiveLevel());
EXPECT_EQ(LogLevel::DEBUG, db.getCategory("foo.test")->getLevel()); EXPECT_EQ(LogLevel::DBG, db.getCategory("foo.test")->getLevel());
EXPECT_EQ(LogLevel::DEBUG, db.getCategory("foo.test")->getEffectiveLevel()); EXPECT_EQ(LogLevel::DBG, db.getCategory("foo.test")->getEffectiveLevel());
EXPECT_EQ(LogLevel::WARN, db.getCategory("foo.test.stuff")->getLevel()); EXPECT_EQ(LogLevel::WARN, db.getCategory("foo.test.stuff")->getLevel());
EXPECT_EQ( EXPECT_EQ(
LogLevel::DEBUG, db.getCategory("foo.test.stuff")->getEffectiveLevel()); LogLevel::DBG, db.getCategory("foo.test.stuff")->getEffectiveLevel());
EXPECT_EQ(LogLevel::DBG5, db.getCategory("foo.bar")->getEffectiveLevel()); EXPECT_EQ(LogLevel::DBG5, db.getCategory("foo.bar")->getEffectiveLevel());
} }
......
...@@ -79,7 +79,7 @@ TEST(LogCategory, effectiveLevel) { ...@@ -79,7 +79,7 @@ TEST(LogCategory, effectiveLevel) {
void testNumHandlers(size_t numHandlers) { void testNumHandlers(size_t numHandlers) {
SCOPED_TRACE(folly::to<string>("num_handlers= ", numHandlers)); SCOPED_TRACE(folly::to<string>("num_handlers= ", numHandlers));
LoggerDB db{LoggerDB::TESTING}; LoggerDB db{LoggerDB::TESTING};
db.setLevel("", LogLevel::DEBUG); db.setLevel("", LogLevel::DBG);
// Create the requested number of handlers for the foo.bar category // Create the requested number of handlers for the foo.bar category
Logger foobar{&db, "foo.bar"}; Logger foobar{&db, "foo.bar"};
......
...@@ -31,9 +31,11 @@ TEST(LogLevel, fromString) { ...@@ -31,9 +31,11 @@ TEST(LogLevel, fromString) {
EXPECT_EQ(LogLevel::NONE, stringToLogLevel("NoNe")); EXPECT_EQ(LogLevel::NONE, stringToLogLevel("NoNe"));
EXPECT_EQ(LogLevel::NONE, stringToLogLevel("LogLevel::none")); EXPECT_EQ(LogLevel::NONE, stringToLogLevel("LogLevel::none"));
EXPECT_EQ(LogLevel::DEBUG, stringToLogLevel("debug")); EXPECT_EQ(LogLevel::DBG, stringToLogLevel("debug"));
EXPECT_EQ(LogLevel::DEBUG, stringToLogLevel("dEBug")); EXPECT_EQ(LogLevel::DBG, stringToLogLevel("dEBug"));
EXPECT_EQ(LogLevel::DEBUG, stringToLogLevel("loglevel::dEBug")); EXPECT_EQ(LogLevel::DBG, stringToLogLevel("Dbg"));
EXPECT_EQ(LogLevel::DBG, stringToLogLevel("loglevel::dEBug"));
EXPECT_EQ(LogLevel::DBG, stringToLogLevel("loglevel::DBG"));
EXPECT_EQ(LogLevel::INFO, stringToLogLevel("info")); EXPECT_EQ(LogLevel::INFO, stringToLogLevel("info"));
EXPECT_EQ(LogLevel::INFO, stringToLogLevel("INFO")); EXPECT_EQ(LogLevel::INFO, stringToLogLevel("INFO"));
...@@ -69,12 +71,12 @@ TEST(LogLevel, fromString) { ...@@ -69,12 +71,12 @@ TEST(LogLevel, fromString) {
EXPECT_EQ(LogLevel::DBG5, stringToLogLevel("dbg5")); EXPECT_EQ(LogLevel::DBG5, stringToLogLevel("dbg5"));
EXPECT_EQ(LogLevel::DBG5, stringToLogLevel("DBG5")); EXPECT_EQ(LogLevel::DBG5, stringToLogLevel("DBG5"));
EXPECT_EQ(LogLevel::DBG9, stringToLogLevel("DBG9")); EXPECT_EQ(LogLevel::DBG9, stringToLogLevel("DBG9"));
EXPECT_EQ(LogLevel::DEBUG + 1, stringToLogLevel("DBG99")); EXPECT_EQ(LogLevel::DBG + 1, stringToLogLevel("DBG99"));
EXPECT_EQ(LogLevel::DEBUG, stringToLogLevel("900")); EXPECT_EQ(LogLevel::DBG, stringToLogLevel("900"));
EXPECT_EQ(LogLevel::DEBUG, stringToLogLevel("LogLevel(900)")); EXPECT_EQ(LogLevel::DBG, stringToLogLevel("LogLevel(900)"));
EXPECT_THROW(stringToLogLevel("foobar"), std::range_error); EXPECT_THROW(stringToLogLevel("foobar"), std::range_error);
EXPECT_THROW(stringToLogLevel("dbg"), std::range_error); EXPECT_THROW(stringToLogLevel("dbgx"), std::range_error);
EXPECT_THROW(stringToLogLevel("dbgxyz"), std::range_error); EXPECT_THROW(stringToLogLevel("dbgxyz"), std::range_error);
EXPECT_THROW(stringToLogLevel("dbg-1"), std::range_error); EXPECT_THROW(stringToLogLevel("dbg-1"), std::range_error);
EXPECT_THROW(stringToLogLevel("dbg12345"), std::range_error); EXPECT_THROW(stringToLogLevel("dbg12345"), std::range_error);
...@@ -87,7 +89,7 @@ TEST(LogLevel, toString) { ...@@ -87,7 +89,7 @@ TEST(LogLevel, toString) {
EXPECT_EQ("INFO", logLevelToString(LogLevel::INFO)); EXPECT_EQ("INFO", logLevelToString(LogLevel::INFO));
EXPECT_EQ("WARN", logLevelToString(LogLevel::WARN)); EXPECT_EQ("WARN", logLevelToString(LogLevel::WARN));
EXPECT_EQ("WARN", logLevelToString(LogLevel::WARNING)); EXPECT_EQ("WARN", logLevelToString(LogLevel::WARNING));
EXPECT_EQ("DEBUG", logLevelToString(LogLevel::DEBUG)); EXPECT_EQ("DEBUG", logLevelToString(LogLevel::DBG));
EXPECT_EQ("ERR", logLevelToString(LogLevel::ERR)); EXPECT_EQ("ERR", logLevelToString(LogLevel::ERR));
EXPECT_EQ("CRITICAL", logLevelToString(LogLevel::CRITICAL)); EXPECT_EQ("CRITICAL", logLevelToString(LogLevel::CRITICAL));
EXPECT_EQ("DFATAL", logLevelToString(LogLevel::DFATAL)); EXPECT_EQ("DFATAL", logLevelToString(LogLevel::DFATAL));
...@@ -117,7 +119,7 @@ TEST(LogLevel, toStringAndBack) { ...@@ -117,7 +119,7 @@ TEST(LogLevel, toStringAndBack) {
// Check all of the named levels // Check all of the named levels
checkLevel(LogLevel::UNINITIALIZED); checkLevel(LogLevel::UNINITIALIZED);
checkLevel(LogLevel::NONE); checkLevel(LogLevel::NONE);
checkLevel(LogLevel::DEBUG); checkLevel(LogLevel::DBG);
checkLevel(LogLevel::DBG0); checkLevel(LogLevel::DBG0);
checkLevel(LogLevel::DBG1); checkLevel(LogLevel::DBG1);
checkLevel(LogLevel::DBG2); checkLevel(LogLevel::DBG2);
......
...@@ -31,7 +31,7 @@ class LoggerTest : public ::testing::Test { ...@@ -31,7 +31,7 @@ class LoggerTest : public ::testing::Test {
handler_ = make_shared<TestLogHandler>(); handler_ = make_shared<TestLogHandler>();
category->addHandler(handler_); category->addHandler(handler_);
category->setLevel(LogLevel::DEBUG, true); category->setLevel(LogLevel::DBG, true);
} }
static StringPiece pathBasename(StringPiece path) { static StringPiece pathBasename(StringPiece path) {
......
...@@ -27,7 +27,7 @@ TEST(PrintfTest, printfStyleMacros) { ...@@ -27,7 +27,7 @@ TEST(PrintfTest, printfStyleMacros) {
auto handler = make_shared<TestLogHandler>(); auto handler = make_shared<TestLogHandler>();
category->addHandler(handler); category->addHandler(handler);
category->setLevel(LogLevel::DEBUG, true); category->setLevel(LogLevel::DBG, true);
Logger foo{&db, "test.foo.bar"}; Logger foo{&db, "test.foo.bar"};
Logger foobar{&db, "test.foo.bar"}; Logger foobar{&db, "test.foo.bar"};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment