logging.h

#include "config.h"
#include <stdarg.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <errno.h>
#include "base/commandlineflags.h"
#include <unistd.h>
#include <sys/syscall.h>

logging.hのインクルード依存関係図

このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

ソースコードを見る。

マクロ定義

#define WRITE_TO_STDERR(buf, len)   write(STDERR_FILENO, buf, len)
#define CHECK(condition)
#define RAW_CHECK(condition, message)
#define RAW_DCHECK(condition, message)   RAW_CHECK(condition, message)
#define PCHECK(condition)
#define CHECK_OP(op, val1, val2)
#define CHECK_EQ(val1, val2)   CHECK_OP(==, val1, val2)
#define CHECK_NE(val1, val2)   CHECK_OP(!=, val1, val2)
#define CHECK_LE(val1, val2)   CHECK_OP(<=, val1, val2)
#define CHECK_LT(val1, val2)   CHECK_OP(< , val1, val2)
#define CHECK_GE(val1, val2)   CHECK_OP(>=, val1, val2)
#define CHECK_GT(val1, val2)   CHECK_OP(> , val1, val2)
#define CHECK_ERR(invocation)   PCHECK((invocation) != -1)
#define DCHECK_EQ(val1, val2)   CHECK_EQ(val1, val2)
#define DCHECK_NE(val1, val2)   CHECK_NE(val1, val2)
#define DCHECK_LE(val1, val2)   CHECK_LE(val1, val2)
#define DCHECK_LT(val1, val2)   CHECK_LT(val1, val2)
#define DCHECK_GE(val1, val2)   CHECK_GE(val1, val2)
#define DCHECK_GT(val1, val2)   CHECK_GT(val1, val2)
#define VLOG_IS_ON(severity)   (FLAGS_verbose >= severity)
#define LOG_PRINTF(severity, pat)

列挙型

enum  { DEBUG_MODE = 1 }
enum  { INFO = -1, WARNING = -2, ERROR = -3, FATAL = -4 }

関数

 DECLARE_int32 (verbose)
void LogPrintf (int severity, const char *pat, va_list ap)
void RAW_LOG (int lvl, const char *pat,...)
void RAW_VLOG (int lvl, const char *pat,...)
void LOG (int lvl, const char *pat,...)
void VLOG (int lvl, const char *pat,...)
void LOG_IF (int lvl, bool cond, const char *pat,...)


マクロ定義

#define CHECK ( condition   ) 

値:

do {                                                                  \
    if (!(condition)) {                                                 \
      WRITE_TO_STDERR("Check failed: " #condition "\n",                 \
                      sizeof("Check failed: " #condition "\n")-1);      \
      exit(1);                                                          \
    }                                                                   \
  } while (0)

logging.h73 行で定義されています。

参照元 RegisterSystemAllocator().

#define CHECK_EQ ( val1,
val2   )     CHECK_OP(==, val1, val2)

logging.h132 行で定義されています。

#define CHECK_ERR ( invocation   )     PCHECK((invocation) != -1)

logging.h140 行で定義されています。

#define CHECK_GE ( val1,
val2   )     CHECK_OP(>=, val1, val2)

logging.h136 行で定義されています。

#define CHECK_GT ( val1,
val2   )     CHECK_OP(> , val1, val2)

logging.h137 行で定義されています。

#define CHECK_LE ( val1,
val2   )     CHECK_OP(<=, val1, val2)

logging.h134 行で定義されています。

#define CHECK_LT ( val1,
val2   )     CHECK_OP(< , val1, val2)

logging.h135 行で定義されています。

#define CHECK_NE ( val1,
val2   )     CHECK_OP(!=, val1, val2)

logging.h133 行で定義されています。

#define CHECK_OP ( op,
val1,
val2   ) 

値:

do {                                                                  \
    if (!((val1) op (val2))) {                                          \
      fprintf(stderr, "Check failed: %s %s %s\n", #val1, #op, #val2);   \
      exit(1);                                                          \
    }                                                                   \
  } while (0)

logging.h124 行で定義されています。

#define DCHECK_EQ ( val1,
val2   )     CHECK_EQ(val1, val2)

#define DCHECK_GE ( val1,
val2   )     CHECK_GE(val1, val2)

logging.h155 行で定義されています。

#define DCHECK_GT ( val1,
val2   )     CHECK_GT(val1, val2)

logging.h156 行で定義されています。

#define DCHECK_LE ( val1,
val2   )     CHECK_LE(val1, val2)

logging.h153 行で定義されています。

#define DCHECK_LT ( val1,
val2   )     CHECK_LT(val1, val2)

logging.h154 行で定義されています。

#define DCHECK_NE ( val1,
val2   )     CHECK_NE(val1, val2)

logging.h152 行で定義されています。

#define LOG_PRINTF ( severity,
pat   ) 

値:

do {          \
  if (VLOG_IS_ON(severity)) {                   \
    va_list ap;                                 \
    va_start(ap, pat);                          \
    LogPrintf(severity, pat, ap);               \
    va_end(ap);                                 \
  }                                             \
} while (0)

logging.h186 行で定義されています。

参照元 LOG(), LOG_IF(), RAW_LOG(), RAW_VLOG(), と VLOG().

#define PCHECK ( condition   ) 

値:

do {                                                                  \
    if (!(condition)) {                                                 \
      const int err_no = errno;                                         \
      WRITE_TO_STDERR("Check failed: " #condition ": ",                 \
                      sizeof("Check failed: " #condition ": ")-1);      \
      WRITE_TO_STDERR(strerror(err_no), strlen(strerror(err_no)));      \
      WRITE_TO_STDERR("\n", sizeof("\n")-1);                            \
      exit(1);                                                          \
    }                                                                   \
  } while (0)

logging.h103 行で定義されています。

#define RAW_CHECK ( condition,
message   ) 

値:

do {                                                                         \
    if (!(condition)) {                                                        \
      WRITE_TO_STDERR("Check failed: " #condition ": " message "\n",           \
                      sizeof("Check failed: " #condition ": " message "\n")-1);\
      exit(1);                                                                 \
    }                                                                          \
  } while (0)

logging.h83 行で定義されています。

#define RAW_DCHECK ( condition,
message   )     RAW_CHECK(condition, message)

logging.h98 行で定義されています。

#define VLOG_IS_ON ( severity   )     (FLAGS_verbose >= severity)

logging.h183 行で定義されています。

#define WRITE_TO_STDERR ( buf,
len   )     write(STDERR_FILENO, buf, len)

logging.h59 行で定義されています。

参照元 LogPrintf().


列挙型

anonymous enum

列挙型の値:
DEBUG_MODE 

logging.h97 行で定義されています。

anonymous enum

列挙型の値:
INFO 
WARNING 
ERROR 
FATAL 

logging.h163 行で定義されています。


関数

DECLARE_int32 ( verbose   ) 

void LOG ( int  lvl,
const char *  pat,
  ... 
) [inline]

logging.h198 行で定義されています。

参照先 LOG_PRINTF.

void LOG_IF ( int  lvl,
bool  cond,
const char *  pat,
  ... 
) [inline]

logging.h200 行で定義されています。

参照先 LOG_PRINTF.

void LogPrintf ( int  severity,
const char *  pat,
va_list  ap 
) [inline]

logging.h166 行で定義されています。

参照先 FATAL, と WRITE_TO_STDERR.

void RAW_LOG ( int  lvl,
const char *  pat,
  ... 
) [inline]

logging.h196 行で定義されています。

参照先 LOG_PRINTF.

参照元 CheckInHookCaller(), と MallocHook::GetCallerStackTrace().

void RAW_VLOG ( int  lvl,
const char *  pat,
  ... 
) [inline]

logging.h197 行で定義されています。

参照先 LOG_PRINTF.

参照元 MallocHook::GetCallerStackTrace().

void VLOG ( int  lvl,
const char *  pat,
  ... 
) [inline]

logging.h199 行で定義されています。

参照先 LOG_PRINTF.


Thu Oct 8 05:01:12 2009に生成されました。  doxygen 1.5.6