Commit ace40f29 authored by Tatsuhiro Tsujikawa's avatar Tatsuhiro Tsujikawa

nghttpx: Update log time stamp in millisecond interval

parent 1133cc0b
......@@ -141,7 +141,7 @@ Log::~Log() {
char buf[4_k];
auto tty = lgconf->errorlog_tty;
lgconf->update_tstamp(std::chrono::system_clock::now());
lgconf->update_tstamp_millis(std::chrono::system_clock::now());
// Error log format: <datetime> <master-pid> <current-pid>
// <thread-id> <level> (<filename>:<line>) <msg>
......
......@@ -96,6 +96,20 @@ LogConfig *log_config() { return config.get(); }
void delete_log_config() {}
#endif // NOTHREADS
void LogConfig::update_tstamp_millis(
const std::chrono::system_clock::time_point &now) {
if (std::chrono::duration_cast<std::chrono::milliseconds>(
now.time_since_epoch()) ==
std::chrono::duration_cast<std::chrono::milliseconds>(
time_str_updated.time_since_epoch())) {
return;
}
time_str_updated = now;
tstamp = std::make_shared<Timestamp>(now);
}
void LogConfig::update_tstamp(
const std::chrono::system_clock::time_point &now) {
auto t0 = std::chrono::system_clock::to_time_t(time_str_updated);
......
......@@ -59,6 +59,11 @@ struct LogConfig {
bool errorlog_tty;
LogConfig();
// Updates time stamp if difference between time_str_updated and now
// is 1 or more milliseconds.
void update_tstamp_millis(const std::chrono::system_clock::time_point &now);
// Updates time stamp if difference between time_str_updated and
// now, converted to time_t, is 1 or more seconds.
void update_tstamp(const std::chrono::system_clock::time_point &now);
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment