logger.h revision 90dce4d38c5ff5333bea97d859d4e484e27edf0c
1// Copyright 2013 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 CHROME_BROWSER_SYNC_FILE_SYSTEM_LOGGER_H_
6#define CHROME_BROWSER_SYNC_FILE_SYSTEM_LOGGER_H_
7
8#include <string>
9#include <vector>
10
11#include "base/location.h"
12#include "base/logging.h"
13#include "chrome/browser/google_apis/event_logger.h"
14
15namespace sync_file_system {
16// Originally wanted to use 'logging' here, but it conflicts with
17// base/logging.h, and breaks DCHECK() and friends.
18namespace util {
19
20// Resets the log.
21void ClearLog();
22
23// Logs a message using printf format.
24// This function can be called from any thread.
25void Log(logging::LogSeverity level,
26         const tracked_objects::Location& location,
27         const char* format,
28         ...)
29    PRINTF_FORMAT(3, 4);
30
31// Returns the log history.
32// This function can be called from any thread.
33std::vector<google_apis::EventLogger::Event> GetLogHistory();
34
35}  // namespace util
36}  // namespace sync_file_system
37
38#endif  // CHROME_BROWSER_SYNC_FILE_SYSTEM_LOGGER_H_
39