- add sources.
[platform/framework/web/crosswalk.git] / src / sync / util / logging.h
1 // Copyright (c) 2012 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 SYNC_UTIL_LOGGING_H_
6 #define SYNC_UTIL_LOGGING_H_
7
8 #include "base/logging.h"
9
10 // TODO(akalin): This probably belongs in base/ somewhere.
11
12 namespace tracked_objects {
13 class Location;
14 }  // namespace tracked_objects
15
16 namespace syncer {
17
18 bool VlogIsOnForLocation(const tracked_objects::Location& from_here,
19                          int verbose_level);
20
21 }  // namespace syncer
22
23 #define VLOG_LOC_STREAM(from_here, verbose_level)                       \
24   logging::LogMessage(from_here.file_name(), from_here.line_number(),   \
25                       -verbose_level).stream()
26
27 #define DVLOG_LOC(from_here, verbose_level)                             \
28   LAZY_STREAM(                                                          \
29       VLOG_LOC_STREAM(from_here, verbose_level),                        \
30       ::logging::DEBUG_MODE &&                                          \
31       (VLOG_IS_ON(verbose_level) ||                                     \
32        ::syncer::VlogIsOnForLocation(from_here, verbose_level)))        \
33
34 #endif  // SYNC_UTIL_LOGGING_H_