mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-22 21:37:17 +01:00
add loglevel none (closing #998)
This commit is contained in:
parent
d9b9457b56
commit
a6fb3b602e
|
@ -23,7 +23,8 @@
|
||||||
# log = file
|
# log = file
|
||||||
## Path to logfile (default - autodetect)
|
## Path to logfile (default - autodetect)
|
||||||
# logfile = /var/log/i2pd.log
|
# logfile = /var/log/i2pd.log
|
||||||
## Log messages above this level (debug, *info, warn, error)
|
## Log messages above this level (debug, *info, warn, error, none)
|
||||||
|
## If you set it to none, logging will be disabled
|
||||||
# loglevel = info
|
# loglevel = info
|
||||||
|
|
||||||
## Path to storage of i2pd data (RI, keys, peer profiles, ...)
|
## Path to storage of i2pd data (RI, keys, peer profiles, ...)
|
||||||
|
|
|
@ -16,6 +16,7 @@ namespace log {
|
||||||
*/
|
*/
|
||||||
static const char * g_LogLevelStr[eNumLogLevels] =
|
static const char * g_LogLevelStr[eNumLogLevels] =
|
||||||
{
|
{
|
||||||
|
"none", // eLogNone
|
||||||
"error", // eLogError
|
"error", // eLogError
|
||||||
"warn", // eLogWarn
|
"warn", // eLogWarn
|
||||||
"info", // eLogInfo
|
"info", // eLogInfo
|
||||||
|
@ -46,6 +47,7 @@ namespace log {
|
||||||
static inline int GetSyslogPrio (enum LogLevel l) {
|
static inline int GetSyslogPrio (enum LogLevel l) {
|
||||||
int priority = LOG_DEBUG;
|
int priority = LOG_DEBUG;
|
||||||
switch (l) {
|
switch (l) {
|
||||||
|
case eLogNone : priority = LOG_CRIT; break;
|
||||||
case eLogError : priority = LOG_ERR; break;
|
case eLogError : priority = LOG_ERR; break;
|
||||||
case eLogWarning : priority = LOG_WARNING; break;
|
case eLogWarning : priority = LOG_WARNING; break;
|
||||||
case eLogInfo : priority = LOG_INFO; break;
|
case eLogInfo : priority = LOG_INFO; break;
|
||||||
|
@ -105,7 +107,8 @@ namespace log {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Log::SetLogLevel (const std::string& level) {
|
void Log::SetLogLevel (const std::string& level) {
|
||||||
if (level == "error") { m_MinLevel = eLogError; }
|
if (level == "none") { m_MinLevel = eLogNone; }
|
||||||
|
else if (level == "error") { m_MinLevel = eLogError; }
|
||||||
else if (level == "warn") { m_MinLevel = eLogWarning; }
|
else if (level == "warn") { m_MinLevel = eLogWarning; }
|
||||||
else if (level == "info") { m_MinLevel = eLogInfo; }
|
else if (level == "info") { m_MinLevel = eLogInfo; }
|
||||||
else if (level == "debug") { m_MinLevel = eLogDebug; }
|
else if (level == "debug") { m_MinLevel = eLogDebug; }
|
||||||
|
@ -181,6 +184,7 @@ namespace log {
|
||||||
void Log::SendTo (const std::string& path)
|
void Log::SendTo (const std::string& path)
|
||||||
{
|
{
|
||||||
if (m_LogStream) m_LogStream = nullptr; // close previous
|
if (m_LogStream) m_LogStream = nullptr; // close previous
|
||||||
|
if (m_MinLevel == eLogNone) return;
|
||||||
auto flags = std::ofstream::out | std::ofstream::app;
|
auto flags = std::ofstream::out | std::ofstream::app;
|
||||||
auto os = std::make_shared<std::ofstream> (path, flags);
|
auto os = std::make_shared<std::ofstream> (path, flags);
|
||||||
if (os->is_open ())
|
if (os->is_open ())
|
||||||
|
@ -202,6 +206,7 @@ namespace log {
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
void Log::SendTo(const char *name, int facility) {
|
void Log::SendTo(const char *name, int facility) {
|
||||||
|
if (m_MinLevel == eLogNone) return;
|
||||||
m_HasColors = false;
|
m_HasColors = false;
|
||||||
m_Destination = eLogSyslog;
|
m_Destination = eLogSyslog;
|
||||||
m_LogStream = nullptr;
|
m_LogStream = nullptr;
|
||||||
|
|
|
@ -25,7 +25,8 @@
|
||||||
|
|
||||||
enum LogLevel
|
enum LogLevel
|
||||||
{
|
{
|
||||||
eLogError = 0,
|
eLogNone = 0,
|
||||||
|
eLogError,
|
||||||
eLogWarning,
|
eLogWarning,
|
||||||
eLogInfo,
|
eLogInfo,
|
||||||
eLogDebug,
|
eLogDebug,
|
||||||
|
|
Loading…
Reference in a new issue