Skip to content

Commit be5f138

Browse files
authored
uses syslog handler on appengine (#1025)
* uses syslog handler on appengine
1 parent 8f3f7db commit be5f138

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

src/Google/Client.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
use Psr\Log\LoggerInterface;
3232
use Monolog\Logger;
3333
use Monolog\Handler\StreamHandler as MonologStreamHandler;
34+
use Monolog\Handler\SyslogHandler as MonologSyslogHandler;
3435

3536
/**
3637
* The Google API Client
@@ -990,7 +991,12 @@ public function getLogger()
990991
protected function createDefaultLogger()
991992
{
992993
$logger = new Logger('google-api-php-client');
993-
$logger->pushHandler(new MonologStreamHandler('php://stderr', Logger::NOTICE));
994+
if ($this->isAppEngine()) {
995+
$handler = new MonologSyslogHandler('app', LOG_USER, Logger::NOTICE);
996+
} else {
997+
$handler = new MonologStreamHandler('php://stderr', Logger::NOTICE);
998+
}
999+
$logger->pushHandler($handler);
9941000

9951001
return $logger;
9961002
}

tests/Google/ClientTest.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,27 @@ public function testPrepareService()
243243
$this->assertInstanceOf('Google_Model', $dr_service->files->listFiles());
244244
}
245245

246+
public function testDefaultLogger()
247+
{
248+
$client = new Google_Client();
249+
$logger = $client->getLogger();
250+
$this->assertInstanceOf('Monolog\Logger', $logger);
251+
$handler = $logger->popHandler();
252+
$this->assertInstanceOf('Monolog\Handler\StreamHandler', $handler);
253+
}
254+
255+
public function testDefaultLoggerAppEngine()
256+
{
257+
$_SERVER['SERVER_SOFTWARE'] = 'Google App Engine';
258+
$client = new Google_Client();
259+
$logger = $client->getLogger();
260+
$handler = $logger->popHandler();
261+
unset($_SERVER['SERVER_SOFTWARE']);
262+
263+
$this->assertInstanceOf('Monolog\Logger', $logger);
264+
$this->assertInstanceOf('Monolog\Handler\SyslogHandler', $handler);
265+
}
266+
246267
public function testSettersGetters()
247268
{
248269
$client = new Google_Client();

0 commit comments

Comments
 (0)