spdlog
Loading...
Searching...
No Matches
tweakme.h
Go to the documentation of this file.
1// Copyright(c) 2015-present, Gabi Melman & spdlog contributors.
2// Distributed under the MIT License (http://opensource.org/licenses/MIT)
3
4#pragma once
5
6///////////////////////////////////////////////////////////////////////////////
7//
8// Edit this file to squeeze more performance, and to customize supported
9// features
10//
11///////////////////////////////////////////////////////////////////////////////
12
13///////////////////////////////////////////////////////////////////////////////
14// Under Linux, the much faster CLOCK_REALTIME_COARSE clock can be used.
15// This clock is less accurate - can be off by dozens of millis - depending on
16// the kernel HZ.
17// Uncomment to use it instead of the regular clock.
18//
19// #define SPDLOG_CLOCK_COARSE
20///////////////////////////////////////////////////////////////////////////////
21
22///////////////////////////////////////////////////////////////////////////////
23// Uncomment if thread id logging is not needed (i.e. no %t in the log pattern).
24// This will prevent spdlog from querying the thread id on each log call.
25//
26// WARNING: If the log pattern contains thread id (i.e, %t) while this flag is
27// on, zero will be logged as thread id.
28//
29// #define SPDLOG_NO_THREAD_ID
30///////////////////////////////////////////////////////////////////////////////
31
32///////////////////////////////////////////////////////////////////////////////
33// Uncomment to prevent spdlog from using thread local storage.
34//
35// WARNING: if your program forks, UNCOMMENT this flag to prevent undefined
36// thread ids in the children logs.
37//
38// #define SPDLOG_NO_TLS
39///////////////////////////////////////////////////////////////////////////////
40
41///////////////////////////////////////////////////////////////////////////////
42// Uncomment to avoid spdlog's usage of atomic log levels
43// Use only if your code never modifies a logger's log levels concurrently by
44// different threads.
45//
46// #define SPDLOG_NO_ATOMIC_LEVELS
47///////////////////////////////////////////////////////////////////////////////
48
49///////////////////////////////////////////////////////////////////////////////
50// Uncomment to enable usage of wchar_t for file names on Windows.
51//
52// #define SPDLOG_WCHAR_FILENAMES
53///////////////////////////////////////////////////////////////////////////////
54
55///////////////////////////////////////////////////////////////////////////////
56// Uncomment to override default eol ("\n" or "\r\n" under Linux/Windows)
57//
58// #define SPDLOG_EOL ";-)\n"
59///////////////////////////////////////////////////////////////////////////////
60
61///////////////////////////////////////////////////////////////////////////////
62// Uncomment to override default folder separators ("/" or "\\/" under
63// Linux/Windows). Each character in the string is treated as a different
64// separator.
65//
66// #define SPDLOG_FOLDER_SEPS "\\"
67///////////////////////////////////////////////////////////////////////////////
68
69///////////////////////////////////////////////////////////////////////////////
70// Uncomment to use your own copy of the fmt library instead of spdlog's copy.
71// In this case spdlog will try to include <fmt/format.h> so set your -I flag
72// accordingly.
73//
74// #define SPDLOG_FMT_EXTERNAL
75///////////////////////////////////////////////////////////////////////////////
76
77///////////////////////////////////////////////////////////////////////////////
78// Uncomment to enable wchar_t support (convert to utf8)
79//
80// #define SPDLOG_WCHAR_TO_UTF8_SUPPORT
81///////////////////////////////////////////////////////////////////////////////
82
83///////////////////////////////////////////////////////////////////////////////
84// Uncomment to prevent child processes from inheriting log file descriptors
85//
86// #define SPDLOG_PREVENT_CHILD_FD
87///////////////////////////////////////////////////////////////////////////////
88
89///////////////////////////////////////////////////////////////////////////////
90// Uncomment to customize level names (e.g. "MY TRACE")
91//
92// #define SPDLOG_LEVEL_NAMES { "MY TRACE", "MY DEBUG", "MY INFO", "MY WARNING",
93// "MY ERROR", "MY CRITICAL", "OFF" }
94///////////////////////////////////////////////////////////////////////////////
95
96///////////////////////////////////////////////////////////////////////////////
97// Uncomment to customize short level names (e.g. "MT")
98// These can be longer than one character.
99//
100// #define SPDLOG_SHORT_LEVEL_NAMES { "T", "D", "I", "W", "E", "C", "O" }
101///////////////////////////////////////////////////////////////////////////////
102
103///////////////////////////////////////////////////////////////////////////////
104// Uncomment to disable default logger creation.
105// This might save some (very) small initialization time if no default logger is needed.
106//
107// #define SPDLOG_DISABLE_DEFAULT_LOGGER
108///////////////////////////////////////////////////////////////////////////////
109
110///////////////////////////////////////////////////////////////////////////////
111// Uncomment and set to compile time level with zero cost (default is INFO).
112// Macros like SPDLOG_DEBUG(..), SPDLOG_INFO(..) will expand to empty statements if not enabled
113//
114// #define SPDLOG_ACTIVE_LEVEL SPDLOG_LEVEL_INFO
115///////////////////////////////////////////////////////////////////////////////
116
117///////////////////////////////////////////////////////////////////////////////
118// Uncomment (and change if desired) macro to use for function names.
119// This is compiler dependent.
120// __PRETTY_FUNCTION__ might be nicer in clang/gcc, and __FUNCTION__ in msvc.
121// Defaults to __FUNCTION__ (should work on all compilers) if not defined.
122//
123// #define SPDLOG_FUNCTION __PRETTY_FUNCTION__
124///////////////////////////////////////////////////////////////////////////////