Easy3D 2.6.1
Loading...
Searching...
No Matches
logging.h
1/********************************************************************
2 * Copyright (C) 2015 Liangliang Nan <liangliang.nan@gmail.com>
3 * https://3d.bk.tudelft.nl/liangliang/
4 *
5 * This file is part of Easy3D. If it is useful in your research/work,
6 * I would be grateful if you show your appreciation by citing it:
7 * ------------------------------------------------------------------
8 * Liangliang Nan.
9 * Easy3D: a lightweight, easy-to-use, and efficient C++ library
10 * for processing and rendering 3D data.
11 * Journal of Open Source Software, 6(64), 3255, 2021.
12 * ------------------------------------------------------------------
13 *
14 * Easy3D is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License Version 3
16 * as published by the Free Software Foundation.
17 *
18 * Easy3D is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * You should have received a copy of the GNU General Public License
24 * along with this program. If not, see <http://www.gnu.org/licenses/>.
25 ********************************************************************/
26
27#ifndef EASY3D_UTIL_LOGGING_H
28#define EASY3D_UTIL_LOGGING_H
29
30
31#include <3rd_party/easyloggingpp/easylogging++.h>
32
33
37#define LOG_IF_EVERY_N(n, condition, LEVEL) if (condition) \
38 CLOG_EVERY_N(n, LEVEL, ELPP_CURR_FILE_LOGGER_ID)
39
43#define LOG_IF_FIRST_N(n, condition, LEVEL) if (condition) \
44 CLOG_N_TIMES(n, LEVEL, ELPP_CURR_FILE_LOGGER_ID)
45
49#define COUNTER ELPP_COUNTER->hitCounts()
50
51
52namespace easy3d {
53
56 namespace logging {
57
74 bool info_to_stdout = false,
75 bool warning_to_stdcout = true,
76 bool error_to_stdcout = true,
77 bool verbose_to_stdcout = false,
78 const std::string &log_file = "default",
79 int verbosity_threshold = 9
80 );
81
84
86 std::string log_file();
87
91 class Logger {
92 public:
93 Logger();
95 virtual void send(el::Level level, const std::string& msg) = 0;
96 };
97
98 }
99
100}
101
102
103
104#endif // EASY3D_UTIL_LOGGING_H
virtual void send(el::Level level, const std::string &msg)=0
writes the log message msg (and may also other given information).
The logging mechanism.
std::string log_file()
Returns the full path of the log file (empty if no log file has been created).
void initialize(bool info_to_stdout=false, bool warning_to_stdcout=true, bool error_to_stdcout=true, bool verbose_to_stdcout=false, const std::string &log_file="default", int verbosity_threshold=9)
Initializes the logging module.
bool is_initialized()
Returns whether the logging has been initialized.
Definition collider.cpp:182