Chris@0: installConfig(['syslog']); Chris@0: } Chris@0: Chris@0: /** Chris@0: * @covers ::log Chris@0: */ Chris@0: public function testSyslogWriting() { Chris@0: Chris@0: $request = Request::create('/page-not-found', 'GET', [], [], [], ['REMOTE_ADDR' => '1.2.3.4']); Chris@0: $request->headers->set('Referer', 'other-site'); Chris@0: \Drupal::requestStack()->push($request); Chris@0: Chris@0: $user = $this->getMockBuilder('Drupal\Core\Session\AccountInterface')->getMock(); Chris@0: $user->method('id')->willReturn(42); Chris@0: $this->container->set('current_user', $user); Chris@0: Chris@0: \Drupal::logger('my_module')->warning('My warning message.', ['link' => '/my-link']); Chris@0: Chris@0: $log_filename = $this->container->get('file_system')->realpath('public://syslog.log'); Chris@0: $logs = explode(PHP_EOL, file_get_contents($log_filename)); Chris@0: $log = explode('|', $logs[0]); Chris@0: Chris@0: global $base_url; Chris@0: $this->assertEquals($base_url, $log[0]); Chris@0: $this->assertEquals('my_module', $log[2]); Chris@0: $this->assertEquals('1.2.3.4', $log[3]); Chris@0: $this->assertEquals($base_url . '/page-not-found', $log[4]); Chris@0: $this->assertEquals('other-site', $log[5]); Chris@0: $this->assertEquals('42', $log[6]); Chris@0: $this->assertEquals('/my-link', $log[7]); Chris@0: $this->assertEquals('My warning message.', $log[8]); Chris@0: } Chris@0: Chris@14: /** Chris@14: * Test severity level logging. Chris@14: * Chris@14: * @covers ::log Chris@14: */ Chris@14: public function testSyslogSeverity() { Chris@14: /* @var \Drupal\Core\Config\Config $config */ Chris@14: $config = $this->container->get('config.factory')->getEditable('syslog.settings'); Chris@14: $config->set('format', '!type|!message|!severity'); Chris@14: $config->save(); Chris@14: Chris@14: \Drupal::logger('my_module')->warning('My warning message.'); Chris@14: Chris@14: $log_filename = $this->container->get('file_system')->realpath('public://syslog.log'); Chris@14: $logs = explode(PHP_EOL, file_get_contents($log_filename)); Chris@14: $log = explode('|', $logs[0]); Chris@14: Chris@14: $this->assertEquals('my_module', $log[0]); Chris@14: $this->assertEquals('My warning message.', $log[1]); Chris@14: $this->assertEquals('4', $log[2]); Chris@14: } Chris@14: Chris@0: }