mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-02-02 06:54:15 +00:00
Merge pull request #961 from l-n-s/small_patches
fixed typo + added optional full date in logs `logclftime=true`
This commit is contained in:
commit
4d23de96d5
@ -393,7 +393,7 @@ message(STATUS " UPnP : ${WITH_UPNP}")
|
|||||||
message(STATUS " PCH : ${WITH_PCH}")
|
message(STATUS " PCH : ${WITH_PCH}")
|
||||||
message(STATUS " MESHNET : ${WITH_MESHNET}")
|
message(STATUS " MESHNET : ${WITH_MESHNET}")
|
||||||
message(STATUS " ADDRSANITIZER : ${WITH_ADDRSANITIZER}")
|
message(STATUS " ADDRSANITIZER : ${WITH_ADDRSANITIZER}")
|
||||||
message(STATUS " THEADSANITIZER : ${WITH_THREADSANITIZER}")
|
message(STATUS " THREADSANITIZER : ${WITH_THREADSANITIZER}")
|
||||||
message(STATUS " I2LUA : ${WITH_I2LUA}")
|
message(STATUS " I2LUA : ${WITH_I2LUA}")
|
||||||
message(STATUS " WEBSOCKETS : ${WITH_WEBSOCKETS}")
|
message(STATUS " WEBSOCKETS : ${WITH_WEBSOCKETS}")
|
||||||
message(STATUS "---------------------------------------")
|
message(STATUS "---------------------------------------")
|
||||||
|
@ -94,8 +94,12 @@ namespace i2p
|
|||||||
std::string logs = ""; i2p::config::GetOption("log", logs);
|
std::string logs = ""; i2p::config::GetOption("log", logs);
|
||||||
std::string logfile = ""; i2p::config::GetOption("logfile", logfile);
|
std::string logfile = ""; i2p::config::GetOption("logfile", logfile);
|
||||||
std::string loglevel = ""; i2p::config::GetOption("loglevel", loglevel);
|
std::string loglevel = ""; i2p::config::GetOption("loglevel", loglevel);
|
||||||
|
bool logclftime; i2p::config::GetOption("logclftime", logclftime);
|
||||||
|
|
||||||
/* setup logging */
|
/* setup logging */
|
||||||
|
if (logclftime)
|
||||||
|
i2p::log::Logger().SetTimeFormat ("[%d/%b/%Y:%H:%M:%S %z]");
|
||||||
|
|
||||||
if (isDaemon && (logs == "" || logs == "stdout"))
|
if (isDaemon && (logs == "" || logs == "stdout"))
|
||||||
logs = "file";
|
logs = "file";
|
||||||
|
|
||||||
|
@ -38,6 +38,7 @@ namespace config {
|
|||||||
("log", value<std::string>()->default_value(""), "Logs destination: stdout, file, syslog (stdout if not set)")
|
("log", value<std::string>()->default_value(""), "Logs destination: stdout, file, syslog (stdout if not set)")
|
||||||
("logfile", value<std::string>()->default_value(""), "Path to logfile (stdout if not set, autodetect if daemon)")
|
("logfile", value<std::string>()->default_value(""), "Path to logfile (stdout if not set, autodetect if daemon)")
|
||||||
("loglevel", value<std::string>()->default_value("info"), "Set the minimal level of log messages (debug, info, warn, error)")
|
("loglevel", value<std::string>()->default_value("info"), "Set the minimal level of log messages (debug, info, warn, error)")
|
||||||
|
("logclftime", value<bool>()->default_value(false), "Write full CLF-formatted date and time to log (default: write only time)")
|
||||||
("family", value<std::string>()->default_value(""), "Specify a family, router belongs to")
|
("family", value<std::string>()->default_value(""), "Specify a family, router belongs to")
|
||||||
("datadir", value<std::string>()->default_value(""), "Path to storage of i2pd data (RI, keys, peer profiles, ...)")
|
("datadir", value<std::string>()->default_value(""), "Path to storage of i2pd data (RI, keys, peer profiles, ...)")
|
||||||
("host", value<std::string>()->default_value("0.0.0.0"), "External IP")
|
("host", value<std::string>()->default_value("0.0.0.0"), "External IP")
|
||||||
|
@ -58,7 +58,7 @@ namespace log {
|
|||||||
|
|
||||||
Log::Log():
|
Log::Log():
|
||||||
m_Destination(eLogStdout), m_MinLevel(eLogInfo),
|
m_Destination(eLogStdout), m_MinLevel(eLogInfo),
|
||||||
m_LogStream (nullptr), m_Logfile(""), m_HasColors(true),
|
m_LogStream (nullptr), m_Logfile(""), m_HasColors(true), m_TimeFormat("%H:%M:%S"),
|
||||||
m_IsRunning (false), m_Thread (nullptr)
|
m_IsRunning (false), m_Thread (nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -118,7 +118,7 @@ namespace log {
|
|||||||
|
|
||||||
const char * Log::TimeAsString(std::time_t t) {
|
const char * Log::TimeAsString(std::time_t t) {
|
||||||
if (t != m_LastTimestamp) {
|
if (t != m_LastTimestamp) {
|
||||||
strftime(m_LastDateTime, sizeof(m_LastDateTime), "%H:%M:%S", localtime(&t));
|
strftime(m_LastDateTime, sizeof(m_LastDateTime), m_TimeFormat.c_str(), localtime(&t));
|
||||||
m_LastTimestamp = t;
|
m_LastTimestamp = t;
|
||||||
}
|
}
|
||||||
return m_LastDateTime;
|
return m_LastDateTime;
|
||||||
|
@ -58,6 +58,7 @@ namespace log {
|
|||||||
char m_LastDateTime[64];
|
char m_LastDateTime[64];
|
||||||
i2p::util::Queue<std::shared_ptr<LogMsg> > m_Queue;
|
i2p::util::Queue<std::shared_ptr<LogMsg> > m_Queue;
|
||||||
bool m_HasColors;
|
bool m_HasColors;
|
||||||
|
std::string m_TimeFormat;
|
||||||
volatile bool m_IsRunning;
|
volatile bool m_IsRunning;
|
||||||
std::thread * m_Thread;
|
std::thread * m_Thread;
|
||||||
|
|
||||||
@ -107,6 +108,12 @@ namespace log {
|
|||||||
*/
|
*/
|
||||||
void SendTo (std::shared_ptr<std::ostream> os);
|
void SendTo (std::shared_ptr<std::ostream> os);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Sets format for timestamps in log
|
||||||
|
* @param format String with timestamp format
|
||||||
|
*/
|
||||||
|
void SetTimeFormat (std::string format) { m_TimeFormat = format; };
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
/**
|
/**
|
||||||
* @brief Sets log destination to syslog
|
* @brief Sets log destination to syslog
|
||||||
|
Loading…
x
Reference in New Issue
Block a user