From bf97033addc8e72499652f64886ef89c7b062c39 Mon Sep 17 00:00:00 2001 From: "akalin@chromium.org" Date: Fri, 7 Jan 2011 21:53:05 +0000 Subject: Revert 70782 - 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 Review URL: http://codereview.chromium.org/6070006 TBR=akalin@chromium.org Review URL: http://codereview.chromium.org/6100007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70783 0039d316-1c4b-4281-b951-d872f2087c98 --- base/logging.cc | 8 ++++---- base/logging.h | 23 +++++++---------------- base/test/test_suite.cc | 10 ++++------ 3 files changed, 15 insertions(+), 26 deletions(-) (limited to 'base') diff --git a/base/logging.cc b/base/logging.cc index bdce7b3..cfb1065 100644 --- a/base/logging.cc +++ b/base/logging.cc @@ -64,7 +64,7 @@ typedef pthread_mutex_t* MutexHandle; namespace logging { -DcheckState g_dcheck_state = DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS; +bool g_enable_dcheck = false; VlogInfo* g_vlog_info = NULL; const char* const log_severity_names[LOG_NUM_SEVERITIES] = { @@ -353,10 +353,10 @@ bool InitializeLogFileHandle() { bool BaseInitLoggingImpl(const PathChar* new_log_file, LoggingDestination logging_dest, LogLockingState lock_log, - OldFileDeletionState delete_old, - DcheckState dcheck_state) { + OldFileDeletionState delete_old) { CommandLine* command_line = CommandLine::ForCurrentProcess(); - g_dcheck_state = dcheck_state; + g_enable_dcheck = + command_line->HasSwitch(switches::kEnableDCHECK); delete g_vlog_info; g_vlog_info = NULL; // Don't bother initializing g_vlog_info unless we use one of the diff --git a/base/logging.h b/base/logging.h index 72e6d8d..a097568 100644 --- a/base/logging.h +++ b/base/logging.h @@ -165,11 +165,6 @@ 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; @@ -193,8 +188,7 @@ typedef char PathChar; bool BaseInitLoggingImpl(const PathChar* log_file, LoggingDestination logging_dest, LogLockingState lock_log, - OldFileDeletionState delete_old, - DcheckState dcheck_state); + OldFileDeletionState delete_old); // 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. @@ -209,10 +203,8 @@ bool BaseInitLoggingImpl(const PathChar* log_file, inline bool InitLogging(const PathChar* log_file, LoggingDestination logging_dest, LogLockingState lock_log, - OldFileDeletionState delete_old, - DcheckState dcheck_state) { - return BaseInitLoggingImpl(log_file, logging_dest, lock_log, - delete_old, dcheck_state); + OldFileDeletionState delete_old) { + return BaseInitLoggingImpl(log_file, logging_dest, lock_log, delete_old); } // Sets the log level. Anything at or above this level will be written to the @@ -608,11 +600,10 @@ 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; -extern DcheckState g_dcheck_state; -#define DCHECK_IS_ON() \ - ((::logging::g_dcheck_state == \ - ENABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS) && \ - LOG_IS_ON(DCHECK)) +// 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)) #else // defined(NDEBUG) diff --git a/base/test/test_suite.cc b/base/test/test_suite.cc index 5f8a616..aa23f04 100644 --- a/base/test/test_suite.cc +++ b/base/test/test_suite.cc @@ -175,12 +175,10 @@ void TestSuite::Initialize() { FilePath exe; PathService::Get(base::FILE_EXE, &exe); FilePath log_filename = exe.ReplaceExtension(FILE_PATH_LITERAL("log")); - logging::InitLogging( - log_filename.value().c_str(), - logging::LOG_TO_BOTH_FILE_AND_SYSTEM_DEBUG_LOG, - logging::LOCK_LOG_FILE, - logging::DELETE_OLD_LOG_FILE, - logging::DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS); + logging::InitLogging(log_filename.value().c_str(), + logging::LOG_TO_BOTH_FILE_AND_SYSTEM_DEBUG_LOG, + logging::LOCK_LOG_FILE, + logging::DELETE_OLD_LOG_FILE); // We want process and thread IDs because we may have multiple processes. // Note: temporarily enabled timestamps in an effort to catch bug 6361. logging::SetLogItems(true, true, true, true); -- cgit v1.1