. */ namespace Test\Log; use OC\Log\File; use Test\TestCase; /** * Class FileTest * * @group DB */ class FileTest extends TestCase { private $restore_logfile; private $restore_logdateformat; protected function setUp() { parent::setUp(); $config = \OC::$server->getConfig(); $this->restore_logfile = $config->getSystemValue("logfile"); $this->restore_logdateformat = $config->getSystemValue('logdateformat'); $config->setSystemValue("logfile", $config->getSystemValue('datadirectory') . "/logtest"); File::init(); } protected function tearDown() { $config = \OC::$server->getConfig(); if (isset($this->restore_logfile)) { $config->getSystemValue("logfile", $this->restore_logfile); } else { $config->deleteSystemValue("logfile"); } if (isset($this->restore_logdateformat)) { $config->getSystemValue("logdateformat", $this->restore_logdateformat); } else { $config->deleteSystemValue("restore_logdateformat"); } File::init(); parent::tearDown(); } public function testMicrosecondsLogTimestamp() { $config = \OC::$server->getConfig(); # delete old logfile unlink($config->getSystemValue('logfile')); # set format & write log line $config->setSystemValue('logdateformat', 'u'); File::write('test', 'message', \OCP\Util::ERROR); # read log line $handle = @fopen($config->getSystemValue('logfile'), 'r'); $line = fread($handle, 1000); fclose($handle); # check timestamp has microseconds part $values = (array) json_decode($line); $microseconds = $values['time']; $this->assertNotEquals(0, $microseconds); } }