Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Side by Side Diff: chrome/common/logging_chrome.cc

Issue 7719007: Add a gyp flag to enable dcheck by default in release without (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « build/common.gypi ('k') | chrome/test/automation/proxy_launcher.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "build/build_config.h" 5 #include "build/build_config.h"
6 6
7 // Need to include this before most other files because it defines 7 // Need to include this before most other files because it defines
8 // IPC_MESSAGE_LOG_ENABLED. We need to use it to define 8 // IPC_MESSAGE_LOG_ENABLED. We need to use it to define
9 // IPC_MESSAGE_MACROS_LOG_ENABLED so render_messages.h will generate the 9 // IPC_MESSAGE_MACROS_LOG_ENABLED so render_messages.h will generate the
10 // ViewMsgLog et al. functions. 10 // ViewMsgLog et al. functions.
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 // Redirect logs to the session log directory, if set. Otherwise 236 // Redirect logs to the session log directory, if set. Otherwise
237 // defaults to the profile dir. 237 // defaults to the profile dir.
238 FilePath log_path = GetSessionLogFile(command_line); 238 FilePath log_path = GetSessionLogFile(command_line);
239 239
240 // Creating symlink causes us to do blocking IO on UI thread. 240 // Creating symlink causes us to do blocking IO on UI thread.
241 // Temporarily allow it until we fix http://crbug.com/61143 241 // Temporarily allow it until we fix http://crbug.com/61143
242 base::ThreadRestrictions::ScopedAllowIO allow_io; 242 base::ThreadRestrictions::ScopedAllowIO allow_io;
243 // Always force a new symlink when redirecting. 243 // Always force a new symlink when redirecting.
244 FilePath target_path = SetUpSymlinkIfNeeded(log_path, true); 244 FilePath target_path = SetUpSymlinkIfNeeded(log_path, true);
245 245
246 #if defined(DCHECK_ALWAYS_ON)
247 logging::DcheckState dcheck_state =
248 logging::ENABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS
249 #else
246 logging::DcheckState dcheck_state = 250 logging::DcheckState dcheck_state =
247 command_line.HasSwitch(switches::kEnableDCHECK) ? 251 command_line.HasSwitch(switches::kEnableDCHECK) ?
248 logging::ENABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS : 252 logging::ENABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS :
249 logging::DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS; 253 logging::DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS;
254 #endif
250 255
251 // ChromeOS always logs through the symlink, so it shouldn't be 256 // ChromeOS always logs through the symlink, so it shouldn't be
252 // deleted if it already exists. 257 // deleted if it already exists.
253 if (!InitLogging(log_path.value().c_str(), 258 if (!InitLogging(log_path.value().c_str(),
254 DetermineLogMode(command_line), 259 DetermineLogMode(command_line),
255 logging::LOCK_LOG_FILE, 260 logging::LOCK_LOG_FILE,
256 logging::APPEND_TO_OLD_LOG_FILE, 261 logging::APPEND_TO_OLD_LOG_FILE,
257 dcheck_state)) { 262 dcheck_state)) {
258 LOG(ERROR) << "Unable to initialize logging to " << log_path.value(); 263 LOG(ERROR) << "Unable to initialize logging to " << log_path.value();
259 RemoveSymlinkAndLog(log_path, target_path); 264 RemoveSymlinkAndLog(log_path, target_path);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 target_path = SetUpSymlinkIfNeeded( 302 target_path = SetUpSymlinkIfNeeded(
298 log_path, delete_old_log_file == logging::DELETE_OLD_LOG_FILE); 303 log_path, delete_old_log_file == logging::DELETE_OLD_LOG_FILE);
299 304
300 // Because ChromeOS manages the move to a new session by redirecting 305 // Because ChromeOS manages the move to a new session by redirecting
301 // the link, it shouldn't remove the old file in the logging code, 306 // the link, it shouldn't remove the old file in the logging code,
302 // since that will remove the newly created link instead. 307 // since that will remove the newly created link instead.
303 delete_old_log_file = logging::APPEND_TO_OLD_LOG_FILE; 308 delete_old_log_file = logging::APPEND_TO_OLD_LOG_FILE;
304 #endif 309 #endif
305 } 310 }
306 311
312 #if defined(DCHECK_ALWAYS_ON)
313 logging::DcheckState dcheck_state =
314 logging::ENABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS
315 #else
307 logging::DcheckState dcheck_state = 316 logging::DcheckState dcheck_state =
308 command_line.HasSwitch(switches::kEnableDCHECK) ? 317 command_line.HasSwitch(switches::kEnableDCHECK) ?
309 logging::ENABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS : 318 logging::ENABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS :
310 logging::DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS; 319 logging::DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS;
320 #endif
311 321
312 bool success = InitLogging(log_path.value().c_str(), 322 bool success = InitLogging(log_path.value().c_str(),
313 logging_dest, 323 logging_dest,
314 logging::LOCK_LOG_FILE, 324 logging::LOCK_LOG_FILE,
315 delete_old_log_file, 325 delete_old_log_file,
316 dcheck_state); 326 dcheck_state);
317 327
318 #if defined(OS_CHROMEOS) 328 #if defined(OS_CHROMEOS)
319 if (!success) { 329 if (!success) {
320 PLOG(ERROR) << "Unable to initialize logging to " << log_path.value() 330 PLOG(ERROR) << "Unable to initialize logging to " << log_path.value()
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 } 375 }
366 376
367 #if defined(OS_WIN) 377 #if defined(OS_WIN)
368 // Enable trace control and transport through event tracing for Windows. 378 // Enable trace control and transport through event tracing for Windows.
369 if (env->HasVar(env_vars::kEtwLogging)) 379 if (env->HasVar(env_vars::kEtwLogging))
370 logging::LogEventProvider::Initialize(kChromeTraceProviderName); 380 logging::LogEventProvider::Initialize(kChromeTraceProviderName);
371 #endif 381 #endif
372 382
373 #ifdef NDEBUG 383 #ifdef NDEBUG
374 if (command_line.HasSwitch(switches::kSilentDumpOnDCHECK) && 384 if (command_line.HasSwitch(switches::kSilentDumpOnDCHECK) &&
375 command_line.HasSwitch(switches::kEnableDCHECK)) { 385 command_line.HasSwitch(switches::kEnableDCHECK)) {
rvargas (doing something else) 2011/08/23 20:48:22 Looks like we need another condition here :(
376 #if defined(OS_WIN) 386 #if defined(OS_WIN)
377 logging::SetLogReportHandler(DumpProcessAssertHandler); 387 logging::SetLogReportHandler(DumpProcessAssertHandler);
378 #endif 388 #endif
379 } 389 }
380 #endif // NDEBUG 390 #endif // NDEBUG
381 391
382 chrome_logging_initialized_ = true; 392 chrome_logging_initialized_ = true;
383 } 393 }
384 394
385 // This is a no-op, but we'll keep it around in case 395 // This is a no-op, but we'll keep it around in case
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 assertions->push_back(wide_line); 456 assertions->push_back(wide_line);
447 ++assertion_count; 457 ++assertion_count;
448 } 458 }
449 } 459 }
450 log_file.close(); 460 log_file.close();
451 461
452 return assertion_count; 462 return assertion_count;
453 } 463 }
454 464
455 } // namespace logging 465 } // namespace logging
OLDNEW
« no previous file with comments | « build/common.gypi ('k') | chrome/test/automation/proxy_launcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698