Date: Tue, 28 Jan 2014 12:11:53 -0500 From: Rich Felker <dalias@...ifal.cx> To: musl@...ts.openwall.com Subject: Re: syslog() always sends GMT timestamps On Tue, Jan 28, 2014 at 07:39:38PM +0800, orc wrote: > In syslog() there is a call to gmtime_r() instead of localtime_r() > which applies timezone offset. Logs are being collected with GMT > timestamps which is a bit misleading. The standard doesn't specify whether these timestamps are local or gmt, and does not allow modifying the global state that localtime modifies and which localtime_r is also allowed to modify. POSIX allows localtime_r not to modify this global state, but making such an implementation is non-trivial. And moreover, since POSIX does not specify syslog to access the TZ variable, accessing it would make syslog non-safe with respect to modifying TZ from other threads, which is probably non-conforming. These are the technical reasons I made musl's syslog use gmt. Aside from that, I just think it's a bad idea to put local time in the syslog, since different processes writing to syslog might have different timezones set, leading to confusingly interleaved timestamps that are hard to make sense of. Others may disagree on this (it's a policy matter rather than a technical one) but it was probably part of my motivation too. Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.