]>
Commit | Line | Data |
---|---|---|
7c673cae | 1 | // Copyright (c) 2011-present, Facebook, Inc. All rights reserved. |
11fdf7f2 TL |
2 | // This source code is licensed under both the GPLv2 (found in the |
3 | // COPYING file in the root directory) and Apache 2.0 License | |
4 | // (found in the LICENSE.Apache file in the root directory). | |
7c673cae FG |
5 | // |
6 | // Copyright (c) 2011 The LevelDB Authors. All rights reserved. | |
7 | // Use of this source code is governed by a BSD-style license that can be | |
8 | // found in the LICENSE file. See the AUTHORS file for names of contributors. | |
9 | // | |
10 | // Must not be included from any .h files to avoid polluting the namespace | |
11 | // with macros. | |
12 | ||
13 | #pragma once | |
7c673cae FG |
14 | |
15 | // Helper macros that include information about file name and line number | |
494da23a TL |
16 | #define ROCKS_LOG_STRINGIFY(x) #x |
17 | #define ROCKS_LOG_TOSTRING(x) ROCKS_LOG_STRINGIFY(x) | |
18 | #define ROCKS_LOG_PREPEND_FILE_LINE(FMT) ("[%s:" ROCKS_LOG_TOSTRING(__LINE__) "] " FMT) | |
19 | ||
20 | inline const char* RocksLogShorterFileName(const char* file) | |
21 | { | |
22 | // 15 is the length of "util/logging.h". | |
23 | // If the name of this file changed, please change this number, too. | |
24 | return file + (sizeof(__FILE__) > 15 ? sizeof(__FILE__) - 15 : 0); | |
25 | } | |
7c673cae FG |
26 | |
27 | // Don't inclide file/line info in HEADER level | |
494da23a | 28 | #define ROCKS_LOG_HEADER(LGR, FMT, ...) \ |
7c673cae FG |
29 | rocksdb::Log(InfoLogLevel::HEADER_LEVEL, LGR, FMT, ##__VA_ARGS__) |
30 | ||
494da23a TL |
31 | #define ROCKS_LOG_DEBUG(LGR, FMT, ...) \ |
32 | rocksdb::Log(InfoLogLevel::DEBUG_LEVEL, LGR, ROCKS_LOG_PREPEND_FILE_LINE(FMT), \ | |
33 | RocksLogShorterFileName(__FILE__), ##__VA_ARGS__) | |
34 | ||
35 | #define ROCKS_LOG_INFO(LGR, FMT, ...) \ | |
36 | rocksdb::Log(InfoLogLevel::INFO_LEVEL, LGR, ROCKS_LOG_PREPEND_FILE_LINE(FMT), \ | |
37 | RocksLogShorterFileName(__FILE__), ##__VA_ARGS__) | |
7c673cae | 38 | |
494da23a TL |
39 | #define ROCKS_LOG_WARN(LGR, FMT, ...) \ |
40 | rocksdb::Log(InfoLogLevel::WARN_LEVEL, LGR, ROCKS_LOG_PREPEND_FILE_LINE(FMT), \ | |
41 | RocksLogShorterFileName(__FILE__), ##__VA_ARGS__) | |
7c673cae | 42 | |
494da23a TL |
43 | #define ROCKS_LOG_ERROR(LGR, FMT, ...) \ |
44 | rocksdb::Log(InfoLogLevel::ERROR_LEVEL, LGR, ROCKS_LOG_PREPEND_FILE_LINE(FMT), \ | |
45 | RocksLogShorterFileName(__FILE__), ##__VA_ARGS__) | |
7c673cae | 46 | |
494da23a TL |
47 | #define ROCKS_LOG_FATAL(LGR, FMT, ...) \ |
48 | rocksdb::Log(InfoLogLevel::FATAL_LEVEL, LGR, ROCKS_LOG_PREPEND_FILE_LINE(FMT), \ | |
49 | RocksLogShorterFileName(__FILE__), ##__VA_ARGS__) | |
7c673cae | 50 | |
494da23a TL |
51 | #define ROCKS_LOG_BUFFER(LOG_BUF, FMT, ...) \ |
52 | rocksdb::LogToBuffer(LOG_BUF, ROCKS_LOG_PREPEND_FILE_LINE(FMT), \ | |
53 | RocksLogShorterFileName(__FILE__), ##__VA_ARGS__) | |
7c673cae | 54 | |
494da23a TL |
55 | #define ROCKS_LOG_BUFFER_MAX_SZ(LOG_BUF, MAX_LOG_SIZE, FMT, ...) \ |
56 | rocksdb::LogToBuffer(LOG_BUF, MAX_LOG_SIZE, ROCKS_LOG_PREPEND_FILE_LINE(FMT), \ | |
57 | RocksLogShorterFileName(__FILE__), ##__VA_ARGS__) | |
7c673cae | 58 | |
494da23a TL |
59 | #define ROCKS_LOG_DETAILS(LGR, FMT, ...) \ |
60 | ; // due to overhead by default skip such lines | |
61 | // ROCKS_LOG_DEBUG(LGR, FMT, ##__VA_ARGS__) |