summaryrefslogtreecommitdiffstats
path: root/base/logging.h
diff options
context:
space:
mode:
authorakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-01-11 01:03:36 +0000
committerakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-01-11 01:03:36 +0000
commit7c10f7553bf4da999f954e501fc2908e10dd3bcf (patch)
tree09ea21b6c28bc9132d0a2f4b678cc810a29e3fd1 /base/logging.h
parent9a425422549b0dc33730e85bdae2fd441caa55da (diff)
downloadchromium_src-7c10f7553bf4da999f954e501fc2908e10dd3bcf.zip
chromium_src-7c10f7553bf4da999f954e501fc2908e10dd3bcf.tar.gz
chromium_src-7c10f7553bf4da999f954e501fc2908e10dd3bcf.tar.bz2
Made logging not look up --enable-dcheck from command line
Made --enable-dcheck a parameter to InitLogging() and fixed up all callsites. BUG=62736 TEST=Manual Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=70782 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=70920 Review URL: http://codereview.chromium.org/6070006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70977 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/logging.h')
-rw-r--r--base/logging.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/base/logging.h b/base/logging.h
index a097568..662deae 100644
--- a/base/logging.h
+++ b/base/logging.h
@@ -165,6 +165,11 @@ enum LogLockingState { LOCK_LOG_FILE, DONT_LOCK_LOG_FILE };
// Defaults to APPEND_TO_OLD_LOG_FILE.
enum OldFileDeletionState { DELETE_OLD_LOG_FILE, APPEND_TO_OLD_LOG_FILE };
+enum DcheckState {
+ DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS,
+ ENABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS
+};
+
// TODO(avi): do we want to do a unification of character types here?
#if defined(OS_WIN)
typedef wchar_t PathChar;
@@ -188,7 +193,8 @@ typedef char PathChar;
bool BaseInitLoggingImpl(const PathChar* log_file,
LoggingDestination logging_dest,
LogLockingState lock_log,
- OldFileDeletionState delete_old);
+ OldFileDeletionState delete_old,
+ DcheckState dcheck_state);
// Sets the log file name and other global logging state. Calling this function
// is recommended, and is normally done at the beginning of application init.
@@ -203,8 +209,10 @@ bool BaseInitLoggingImpl(const PathChar* log_file,
inline bool InitLogging(const PathChar* log_file,
LoggingDestination logging_dest,
LogLockingState lock_log,
- OldFileDeletionState delete_old) {
- return BaseInitLoggingImpl(log_file, logging_dest, lock_log, delete_old);
+ OldFileDeletionState delete_old,
+ DcheckState dcheck_state) {
+ return BaseInitLoggingImpl(log_file, logging_dest, lock_log,
+ delete_old, dcheck_state);
}
// Sets the log level. Anything at or above this level will be written to the
@@ -600,10 +608,11 @@ enum { DEBUG_MODE = ENABLE_DLOG };
COMPACT_GOOGLE_LOG_EX_ERROR_REPORT(ClassName , ##__VA_ARGS__)
#define COMPACT_GOOGLE_LOG_DCHECK COMPACT_GOOGLE_LOG_ERROR_REPORT
const LogSeverity LOG_DCHECK = LOG_ERROR_REPORT;
-// This is set to true in InitLogging when we want to enable the
-// DCHECKs in release.
-extern bool g_enable_dcheck;
-#define DCHECK_IS_ON() (::logging::g_enable_dcheck && LOG_IS_ON(DCHECK))
+extern DcheckState g_dcheck_state;
+#define DCHECK_IS_ON() \
+ ((::logging::g_dcheck_state == \
+ ::logging::ENABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS) && \
+ LOG_IS_ON(DCHECK))
#else // defined(NDEBUG)