提交 0e1891e5 编写于 作者: L liuruilong

format files

上级 f1426f03
......@@ -27,7 +27,7 @@ SOFTWARE.
namespace paddle_mobile {
enum LogLevel {
enum LogLevel {
kNO_LOG,
kLOG_ERROR,
kLOG_WARNING,
......@@ -37,25 +37,25 @@ enum LogLevel {
kLOG_DEBUG2,
kLOG_DEBUG3,
kLOG_DEBUG4
};
};
// log level
static LogLevel log_level = kLOG_DEBUG4;
// log level
static LogLevel log_level = kLOG_DEBUG4;
static std::vector<std::string> logs{"NO", "ERROR ", "WARNING",
static std::vector<std::string> logs{"NO", "ERROR ", "WARNING",
"INFO ", "DEBUG ", "DEBUG1 ",
"DEBUG2 ", "DEBUG3 ", "DEBUG4 "};
struct ToLog;
struct ToLog;
struct Print {
struct Print {
friend struct ToLog;
template <typename T> Print &operator<<(T const &value) {
buffer_ << value;
return *this;
}
private:
private:
void print(LogLevel level) {
buffer_ << std::endl;
if (level == kLOG_ERROR) {
......@@ -65,14 +65,15 @@ private:
}
}
std::ostringstream buffer_;
};
};
struct ToLog {
struct ToLog {
ToLog(LogLevel level = kLOG_DEBUG, const std::string &info = "")
: level_(level) {
unsigned blanks =
(unsigned)(level > kLOG_DEBUG ? (level - kLOG_DEBUG) * 4 : 1);
printer_ << logs[level] << " " << info << ":" << std::string(blanks, ' ');
printer_ << logs[level] << " " << info << ":"
<< std::string(blanks, ' ');
}
template <typename T> ToLog &operator<<(T const &value) {
......@@ -82,28 +83,28 @@ struct ToLog {
~ToLog() { printer_.print(level_); }
private:
private:
LogLevel level_;
Print printer_;
};
};
#define LOG(level) \
if (level > paddle_mobile::log_level) { \
} else \
paddle_mobile::ToLog(level, \
paddle_mobile::ToLog( \
level, \
(std::stringstream() \
<< "[file: " << (strrchr(__FILE__, '/') \
? (strrchr(__FILE__, '/') + 1) \
: __FILE__) \
<< "[file: " \
<< (strrchr(__FILE__, '/') ? (strrchr(__FILE__, '/') + 1) : __FILE__) \
<< "] [line: " << __LINE__ << "] ") \
.str())
#define DLOG \
paddle_mobile::ToLog(paddle_mobile::kLOG_DEBUG, \
paddle_mobile::ToLog( \
paddle_mobile::kLOG_DEBUG, \
(std::stringstream() \
<< "[file: " << (strrchr(__FILE__, '/') \
? (strrchr(__FILE__, '/') + 1) \
: __FILE__) \
<< "[file: " \
<< (strrchr(__FILE__, '/') ? (strrchr(__FILE__, '/') + 1) : __FILE__) \
<< "] [line: " << __LINE__ << "] ") \
.str())
}
......@@ -112,7 +113,7 @@ private:
namespace paddle_mobile {
enum LogLevel {
enum LogLevel {
kNO_LOG,
kLOG_ERROR,
kLOG_WARNING,
......@@ -122,21 +123,23 @@ enum LogLevel {
kLOG_DEBUG2,
kLOG_DEBUG3,
kLOG_DEBUG4
};
};
struct ToLog;
struct Print {
struct ToLog;
struct Print {
friend struct ToLog;
template <typename T> Print &operator<<(T const &value) {}
private:
};
private:
};
struct ToLog {
struct ToLog {
ToLog(LogLevel level) {}
template <typename T> ToLog &operator<<(T const &value) { return *this; }
};
template <typename T> ToLog &operator<<(T const &value) {
return *this;
}
};
#define LOG(level) \
if (true) { \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册