mastodonpp
0.0.0
src
log.hpp
1
/* This file is part of mastodonpp.
2
* Copyright © 2020 tastytea <tastytea@tastytea.de>
3
*
4
* This program is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU Affero General Public License as published by
6
* the Free Software Foundation, version 3.
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU Affero General Public License for more details.
12
*
13
* You should have received a copy of the GNU Affero General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*/
16
17
#ifndef MASTODONPP_LOG_HPP
18
#define MASTODONPP_LOG_HPP
19
20
#include <iostream>
21
#include <string_view>
22
23
namespace
mastodonpp
24
{
25
26
using
std::cerr;
27
using
std::string_view;
28
29
constexpr
auto
shorten_filename(
const
string_view &filename)
30
{
31
for
(
const
string_view &dir : {
"/src/"
,
"/include/"
})
32
{
33
auto
pos{filename.rfind(
"/src/"
)};
34
if
(pos != string_view::npos)
35
{
36
return
filename.substr(pos + dir.size());
37
}
38
}
39
return
filename;
40
}
41
42
#define commonlog cerr << '[' << shorten_filename(__FILE__) \
43
<< ':' << __LINE__ << ']'
44
#ifndef NDEBUG
45
#define debuglog commonlog << " DEBUG: "
46
#else
47
#define debuglog false && cerr
48
#endif
49
#define errorlog commonlog << " ERROR: "
50
51
}
// namespace mastodonpp
52
53
#endif // MASTODONPP_LOG_HPP
mastodonpp
C++ wrapper for the Mastodon API.
Definition:
api.cpp:19
Generated by
1.8.16