// Copyright 2015 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef LIBBRILLO_BRILLO_LOCATION_LOGGING_H_
#define LIBBRILLO_BRILLO_LOCATION_LOGGING_H_

// These macros help to log Location objects in verbose mode.

#include <base/logging.h>

#define VLOG_LOC_STREAM(from_here, verbose_level)                          \
  logging::LogMessage((from_here).file_name(), (from_here).line_number(),  \
                      -(verbose_level)).stream()

#define VLOG_LOC(from_here, verbose_level)                                 \
  LAZY_STREAM(VLOG_LOC_STREAM(from_here, verbose_level),                   \
              VLOG_IS_ON(verbose_level))

#define DVLOG_LOC(from_here, verbose_level)                                \
  LAZY_STREAM(VLOG_LOC_STREAM(from_here, verbose_level),                   \
              DCHECK_IS_ON() && VLOG_IS_ON(verbose_level))

#endif  // LIBBRILLO_BRILLO_LOCATION_LOGGING_H_
