瀏覽代碼

Remove logger_fwd.h

Sam Jaffe 6 年之前
父節點
當前提交
1d6d065db0

+ 2 - 1
include/logger/c_logger.h

@@ -13,7 +13,7 @@
 #include <memory>
 #include <string>
 
-#include "logger_fwd.h"
+#include "level.h"
 
 #define VA_LOGN(level, size)          \
   do {                                \
@@ -34,6 +34,7 @@
   inline void lvl(std::string const & msg) { log(level::lvl, msg); }
 
 namespace logging {
+  enum class level : int;
   class logger_impl;
   
   class c_logger {

+ 6 - 1
include/logger/detail/appender.h

@@ -1,8 +1,13 @@
 #pragma once
 
-#include "logger/logger_fwd.h"
+#include <iosfwd>
 
 namespace logging {
+  class layout;
+  struct logpacket;
+  class properties;
+  enum class level : int;
+  
   struct appender {
     virtual ~appender() = default;
     virtual std::ostream & stream() = 0;

+ 2 - 2
include/logger/detail/layout.h

@@ -1,10 +1,10 @@
 #pragma once
 
-#include "logger/logger_fwd.h"
-
+#include <iosfwd>
 #include <string>
 
 namespace logging {
+  struct logpacket;
   struct layout {
     virtual ~layout() = default;
     virtual void format(std::ostream & os, logpacket const & pkt) const = 0;

+ 23 - 0
include/logger/level.h

@@ -0,0 +1,23 @@
+//
+//  logger_fwd.hpp
+//  logger
+//
+//  Created by Sam Jaffe on 9/3/16.
+//
+
+#pragma once
+
+#include <string>
+
+#define log_here { __FILE__, __LINE__, __FUNCTION__ }
+
+#define LIST_OF_LOGGING_LEVELS \
+  X(trace) X(debug) X(info) X(warning) X(error) X(critical) X(fatal) X(none)
+#define X(token) token,
+namespace logging {
+  enum class level : int {
+    LIST_OF_LOGGING_LEVELS warn = warning
+  };
+  std::ostream & operator<<(std::ostream & os, level l);
+}
+#undef X

+ 7 - 5
include/logger/logger.h

@@ -23,15 +23,16 @@
 #include <memory>
 #include <string>
 
-#include "logger_fwd.h"
 #include "message.h"
 
 #define log_message( logger, lvl, ... )   \
   logger.log(level::lvl, log_here, __VA_ARGS__)
 
 namespace logging {
+  enum class level : int;
+  struct location_info;
   class logger_impl;
-  class manager;
+  struct logpacket;
 
   class logger {
   public:
@@ -39,11 +40,11 @@ namespace logging {
 
     template <typename... Args>
     inline void log(level ll, std::string const & interp, Args && ...args) {
-      log(ll, location_info{}, interp, std::forward<Args>(args)...);
+      log(ll, message(interp, std::forward<Args>(args)...));
     }
     
     template <typename... Args>
-    inline void log(level ll, location_info info,
+    inline void log(level ll, location_info const & info,
                     std::string const & interp, Args && ...args) {
       log(ll, info, message(interp, std::forward<Args>(args)...));
     }
@@ -55,7 +56,8 @@ namespace logging {
     
   private:
     friend class manager;
-    void log(level ll, location_info info, message const&);
+    void log(level ll, message const&);
+    void log(level ll, location_info const & info, message const&);
 
   private:
     std::string const logger_name_;

+ 0 - 47
include/logger/logger_fwd.h

@@ -1,47 +0,0 @@
-//
-//  logger_fwd.hpp
-//  logger
-//
-//  Created by Sam Jaffe on 9/3/16.
-//
-
-#pragma once
-
-#include <string>
-
-#define log_here { __FILE__, __LINE__, __FUNCTION__ }
-
-namespace logging {
-  enum class level : int;
-  struct logpacket;
-  struct properties;
-  // Implementation classes
-  class appender;
-  class layout;
-  using p_appender = std::shared_ptr<appender>;
-  using p_layout = std::shared_ptr<layout>;
-
-  std::ostream & operator<<(std::ostream & os, level l);
-  
-  struct location_info {
-    char const * filename = "???";
-    int line = 0;
-    char const * function = "";
-  };
-  
-#if defined( _WIN32 )
-  constexpr char const * const NEWLINE_TOKEN{"\r\n"};
-#else
-  constexpr char const * const NEWLINE_TOKEN{"\n"};
-#endif
-}
-
-#define LIST_OF_LOGGING_LEVELS \
-  X(trace) X(debug) X(info) X(warning) X(error) X(critical) X(fatal) X(none)
-#define X(token) token,
-namespace logging {
-  enum class level : int {
-    LIST_OF_LOGGING_LEVELS warn = warning
-  };
-}
-#undef X

+ 13 - 1
include/logger/logpacket.h

@@ -1,10 +1,16 @@
 
 #pragma once
 
-#include "logger_fwd.h"
+#include "level.h"
 #include "message.h"
 
 namespace logging {
+  struct location_info {
+    char const * filename = "???";
+    int line = 0;
+    char const * function = "";
+  };
+  
   struct logpacket {
     struct timeval time;
     //    int thread_id;
@@ -13,4 +19,10 @@ namespace logging {
     std::string logger;
     message message;
   };
+  
+#if defined( _WIN32 )
+  constexpr char const * const NEWLINE_TOKEN{"\r\n"};
+#else
+  constexpr char const * const NEWLINE_TOKEN{"\n"};
+#endif
 }

+ 1 - 1
src/c_logger.cxx

@@ -8,7 +8,7 @@
 #include "logger/c_logger.h"
 
 #include "common.h"
-#include "logger/detail/logger_impl.h"
+#include "logger_impl.h"
 #include "logger/logpacket.h"
 
 using namespace logging;

+ 1 - 0
src/common.cxx

@@ -11,6 +11,7 @@
 #include <ctime>
 
 #include "logger/exception.h"
+#include "logger/logpacket.h"
 
 namespace logging {
   timeval now() {

+ 1 - 2
src/common.h

@@ -9,9 +9,8 @@
 
 #include <sys/time.h>
 
-#include "logger/logger_fwd.h"
-
 namespace logging {
+  enum class level : int;
   timeval now();
 
   level level_from_string(std::string const & value);

+ 1 - 2
src/log_manager.cxx

@@ -14,9 +14,8 @@
 #include "resource_factory/prototype_factory.hpp"
 
 #include "common.h"
+#include "logger_impl.h"
 #include "logger/c_logger.h"
-#include "logger/detail/appender.h"
-#include "logger/detail/logger_impl.h"
 #include "logger/exception.h"
 #include "logger/logger.h"
 #include "logger/properties.h"

+ 7 - 2
src/logger.cxx

@@ -8,7 +8,7 @@
 #include "logger/logger.h"
 
 #include "common.h"
-#include "logger/detail/logger_impl.h"
+#include "logger_impl.h"
 #include "logger/logpacket.h"
 
 namespace logging {
@@ -20,7 +20,12 @@ namespace logging {
     if (impl_) impl_->flush();
   }
   
-  void logger::log(level ll, location_info info, message const & msg) {
+  void logger::log(level ll, message const & msg) {
+    impl_->write({ now(), ll, {}, logger_name_, msg });
+  }
+  
+  void logger::log(level ll, location_info const & info,
+                   message const & msg) {
     impl_->write({ now(), ll, info, logger_name_, msg });
   }
   

+ 1 - 1
src/logger_impl.cxx

@@ -5,7 +5,7 @@
 //  Created by Sam Jaffe on 4/3/19.
 //
 
-#include "logger/detail/logger_impl.h"
+#include "logger_impl.h"
 
 #include "common.h"
 #include "logger/detail/appender.h"

+ 7 - 2
src/logger_impl.h

@@ -1,12 +1,17 @@
 #pragma once
 
-#include "logger/logger_fwd.h"
-
 #include <memory>
 #include <vector>
 #include <utility>
 
 namespace logging {
+  class appender;
+  class layout;
+  enum class level : int;
+  struct logpacket;
+  using p_appender = std::shared_ptr<appender>;
+  using p_layout = std::shared_ptr<layout>;
+
   class log_appender {
   public:
     log_appender(p_appender append, p_layout layout);

+ 2 - 1
test/pattern_layout_test.cxx

@@ -20,7 +20,8 @@ namespace {
   constexpr const int NOW = 1554401840;
 }
 
-logging::p_layout GetPatternLayout(std::string const & fmt) {
+std::shared_ptr<logging::layout>
+GetPatternLayout(std::string const & fmt) {
   using namespace logging;
   using namespace logging::property;
   properties props{_obj({{"pattern", _v(fmt)}})};