misc: Move the ExitLogger class definition into misc.cc

This class isn't referred to outside of misc.hh, and isn't necessarily
useful outside of the particular logging setup implemented in misc.cc.
The Logger class itself is different since it provides a generic
interface that can be used with different logging schemes.

Change-Id: Ibae926fea039d9e3d75a43d97348bc4a3c5d555e
Reviewed-on: https://gem5-review.googlesource.com/6225
Reviewed-by: Brandon Potter <Brandon.Potter@amd.com>
Maintainer: Gabe Black <gabeblack@google.com>
diff --git a/src/base/misc.cc b/src/base/misc.cc
index 2392d51..be97368 100644
--- a/src/base/misc.cc
+++ b/src/base/misc.cc
@@ -51,21 +51,6 @@
 #include "base/types.hh"
 #include "sim/core.hh"
 
-
-Logger &
-Logger::get(LogLevel ll)
-{
-    static std::array<Logger *, NUM_LOG_LEVELS> loggers{{
-        new ExitLogger(std::cerr, "panic"),
-        new ExitLogger(std::cerr, "fatal"),
-        new Logger(std::cerr, "warn"),
-        new Logger(std::cerr, "info"),
-        new Logger(std::cerr, "hack"),
-    }};
-
-    return *loggers[ll];
-}
-
 void
 Logger::setLevel(LogLevel ll)
 {
@@ -104,6 +89,15 @@
     }
 }
 
+class ExitLogger : public Logger
+{
+  public:
+    using Logger::Logger;
+
+    void printEpilogue(const char *func, const char *file, int line,
+                       const char *format) override;
+};
+
 void
 ExitLogger::printEpilogue(const char *func, const char *file, int line,
                             const char *format)
@@ -112,3 +106,17 @@
 
     ccprintf(stream, "Memory Usage: %ld KBytes\n", memUsage());
 }
+
+Logger &
+Logger::get(LogLevel ll)
+{
+    static std::array<Logger *, NUM_LOG_LEVELS> loggers{{
+        new ExitLogger(std::cerr, "panic"),
+        new ExitLogger(std::cerr, "fatal"),
+        new Logger(std::cerr, "warn"),
+        new Logger(std::cerr, "info"),
+        new Logger(std::cerr, "hack"),
+    }};
+
+    return *loggers[ll];
+}
diff --git a/src/base/misc.hh b/src/base/misc.hh
index a731c76..7b0d462 100644
--- a/src/base/misc.hh
+++ b/src/base/misc.hh
@@ -125,15 +125,6 @@
     const char *prefix;
 };
 
-class ExitLogger : public Logger
-{
-  public:
-    using Logger::Logger;
-
-    void printEpilogue(const char *func, const char *file, int line,
-                       const char *format) override;
-};
-
 #define exit_message(logger, code, ...)                                 \
     do {                                                                \
         logger.print(__FUNCTION__, __FILE__, __LINE__, __VA_ARGS__);    \