MainLogger: Use millisecond precision on log timestamps

This commit is contained in:
Dylan K. Taylor 2019-06-10 19:14:08 +01:00
parent 3175a319a2
commit 714393820f

View File

@ -33,7 +33,6 @@ use function get_class;
use function is_resource; use function is_resource;
use function preg_replace; use function preg_replace;
use function sprintf; use function sprintf;
use function time;
use function touch; use function touch;
use function trim; use function trim;
use const PHP_EOL; use const PHP_EOL;
@ -250,12 +249,7 @@ class MainLogger extends \AttachableThreadedLogger{
} }
protected function send($message, $level, $prefix, $color) : void{ protected function send($message, $level, $prefix, $color) : void{
/** @var \DateTime|null $time */
static $time = null;
if($time === null){ //thread-local
$time = new \DateTime('now', new \DateTimeZone($this->timezone)); $time = new \DateTime('now', new \DateTimeZone($this->timezone));
}
$time->setTimestamp(time());
$thread = \Thread::getCurrentThread(); $thread = \Thread::getCurrentThread();
if($thread === null){ if($thread === null){
@ -266,7 +260,7 @@ class MainLogger extends \AttachableThreadedLogger{
$threadName = (new \ReflectionClass($thread))->getShortName() . " thread"; $threadName = (new \ReflectionClass($thread))->getShortName() . " thread";
} }
$message = sprintf($this->format, $time->format("H:i:s"), $color, $threadName, $prefix, $message); $message = sprintf($this->format, $time->format("H:i:s.v"), $color, $threadName, $prefix, $message);
if(!Terminal::isInit()){ if(!Terminal::isInit()){
Terminal::init($this->mainThreadHasFormattingCodes); //lazy-init colour codes because we don't know if they've been registered on this thread Terminal::init($this->mainThreadHasFormattingCodes); //lazy-init colour codes because we don't know if they've been registered on this thread