1// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef BASE_LOG_SEVERITY_H_ 6#define BASE_LOG_SEVERITY_H_ 7 8#include "base/port.h" 9#include "base/commandlineflags.h" 10 11// Variables of type LogSeverity are widely taken to lie in the range 12// [0, NUM_SEVERITIES-1]. Be careful to preserve this assumption if 13// you ever need to change their values or add a new severity. 14typedef int LogSeverity; 15 16const int INFO = 0, WARNING = 1, ERROR = 2, FATAL = 3, NUM_SEVERITIES = 4; 17 18// DFATAL is FATAL in debug mode, ERROR in normal mode 19#ifdef NDEBUG 20#define DFATAL_LEVEL ERROR 21#else 22#define DFATAL_LEVEL FATAL 23#endif 24 25extern const char* const LogSeverityNames[NUM_SEVERITIES]; 26 27// Some flags needed for VLOG and RAW_VLOG 28DECLARE_int32(v); 29DECLARE_bool(silent_init); 30 31// NDEBUG usage helpers related to (RAW_)DCHECK: 32// 33// DEBUG_MODE is for small !NDEBUG uses like 34// if (DEBUG_MODE) foo.CheckThatFoo(); 35// instead of substantially more verbose 36// #ifndef NDEBUG 37// foo.CheckThatFoo(); 38// #endif 39// 40#ifdef NDEBUG 41enum { DEBUG_MODE = 0 }; 42#else 43enum { DEBUG_MODE = 1 }; 44#endif 45 46#endif // BASE_LOG_SEVERITY_H_ 47