Add support for the Android-specific DEBUG and VERBOSE log levels.
(But these are currently always-on, like all other log levels at the moment.)
Change-Id: Ie2cc66eb4b1ba2f11c0bd13bfe32da94d5b168f8
diff --git a/src/logging.h b/src/logging.h
index e358db6..b6306b2 100644
--- a/src/logging.h
+++ b/src/logging.h
@@ -29,36 +29,6 @@
::art::LogMessage(__FILE__, __LINE__, FATAL, -1).stream() \
<< "Check failed: " #x << " "
-namespace art {
-
-template <typename LHS, typename RHS>
-struct EagerEvaluator {
- EagerEvaluator(LHS lhs, RHS rhs) : lhs(lhs), rhs(rhs) { }
- LHS lhs;
- RHS rhs;
-};
-
-
-class LogMessage {
- public:
- LogMessage(const char* file, int line, LogSeverity severity, int error);
- ~LogMessage();
- std::ostream& stream();
-
- private:
- void LogLine(const char*);
-
- std::stringstream buffer_;
- const char* file_;
- int line_number_;
- LogSeverity severity_;
- int errno_;
-
- DISALLOW_COPY_AND_ASSIGN(LogMessage);
-};
-
-} // namespace art
-
#define CHECK_OP(LHS, RHS, OP) \
for (::art::EagerEvaluator<typeof(LHS), typeof(RHS)> _values(LHS, RHS); !(_values.lhs OP _values.rhs); ) \
::art::LogMessage(__FILE__, __LINE__, FATAL, -1).stream() \
@@ -150,4 +120,37 @@
#define UNIMPLEMENTED(level) LOG(level) << __PRETTY_FUNCTION__ << " unimplemented "
+//
+// Implementation details beyond this point.
+//
+
+namespace art {
+
+template <typename LHS, typename RHS>
+struct EagerEvaluator {
+ EagerEvaluator(LHS lhs, RHS rhs) : lhs(lhs), rhs(rhs) { }
+ LHS lhs;
+ RHS rhs;
+};
+
+class LogMessage {
+ public:
+ LogMessage(const char* file, int line, LogSeverity severity, int error);
+ ~LogMessage();
+ std::ostream& stream();
+
+ private:
+ void LogLine(const char*);
+
+ std::stringstream buffer_;
+ const char* file_;
+ int line_number_;
+ LogSeverity severity_;
+ int errno_;
+
+ DISALLOW_COPY_AND_ASSIGN(LogMessage);
+};
+
+} // namespace art
+
#endif // ART_SRC_LOGGING_H_