Просмотр исходного кода

boost log封装一下,可以打印文件名和行号

tanghai 14 лет назад
Родитель
Сommit
1adfc087a9
2 измененных файлов с 22 добавлено и 1 удалено
  1. 1 1
      Cpp/CMakeLists.txt
  2. 21 0
      Cpp/Platform/Base/Log.h

+ 1 - 1
Cpp/CMakeLists.txt

@@ -34,7 +34,7 @@ INCLUDE_DIRECTORIES(${MYSQL_CONNECTOR_INCLUDE_DIRS})
 
 FIND_PACKAGE(Mono REQUIRED)
 
-FIND_PACKAGE(Boost REQUIRED thread system)
+FIND_PACKAGE(Boost REQUIRED thread system log filesystem)
 SET(Boost_USE_STATIC_LIBS    ON)
 SET(Boost_USE_MULTITHREADED  ON)
 SET(Boost_USE_STATIC_RUNTIME OFF)

+ 21 - 0
Cpp/Platform/Base/Log.h

@@ -0,0 +1,21 @@
+// Copyright: All Rights Reserved
+// Author: egametang@gmail.com (tanghai)
+
+#ifndef BASE_LOG_H
+#define BASE_LOG_H
+
+#include <boost/log/trivial.hpp>
+#include <boost/filesystem.hpp>
+
+namespace Egametang {
+
+static inline std::string FileName(const char* s)
+{
+	boost::filesystem::path path(s);
+	return path.filename().string();
+}
+
+#define LOG(level) BOOST_LOG_TRIVIAL(level) << "[" << FileName(__FILE__) << ":" << __LINE__ << "] "
+
+}
+#endif // BASE_LOG_H