From 96c7db685538781c3b4a9007be9188339c3e8585 Mon Sep 17 00:00:00 2001 From: Felix Becker Date: Sun, 6 Nov 2016 16:18:53 +0100 Subject: [PATCH] Log only to STDERR --- bin/php-language-server.php | 8 +++++++- composer.json | 3 ++- tests/LanguageServerTest.php | 15 +++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/bin/php-language-server.php b/bin/php-language-server.php index 49bd29a..f46304d 100644 --- a/bin/php-language-server.php +++ b/bin/php-language-server.php @@ -3,6 +3,8 @@ use LanguageServer\{LanguageServer, ProtocolStreamReader, ProtocolStreamWriter}; use Sabre\Event\Loop; use Symfony\Component\Debug\ErrorHandler; +use Monolog\Logger; +use Monolog\Handler\StreamHandler; $options = getopt('', ['tcp::', 'memory-limit::']); @@ -15,7 +17,11 @@ foreach ([__DIR__ . '/../../../autoload.php', __DIR__ . '/../autoload.php', __DI } } -ErrorHandler::register(); +$logger = new Logger('Errors'); +$logger->pushHandler(new StreamHandler(STDERR)); +$errorHandler = new ErrorHandler; +$errorHandler->setDefaultLogger($logger); +ErrorHandler::register($errorHandler); @cli_set_process_title('PHP Language Server'); diff --git a/composer.json b/composer.json index 6d9159b..4a7f7f0 100644 --- a/composer.json +++ b/composer.json @@ -29,7 +29,8 @@ "sabre/event": "^5.0", "felixfbecker/advanced-json-rpc": "^2.0", "squizlabs/php_codesniffer" : "^2.7", - "symfony/debug": "^3.1" + "symfony/debug": "^3.1", + "monolog/monolog": "^1.21" }, "minimum-stability": "dev", "prefer-stable": true, diff --git a/tests/LanguageServerTest.php b/tests/LanguageServerTest.php index 1c4e278..88fa70c 100644 --- a/tests/LanguageServerTest.php +++ b/tests/LanguageServerTest.php @@ -46,4 +46,19 @@ class LanguageServerTest extends TestCase ] ], $msg->body->result); } + + public function testIndexing() + { + $input = new MockProtocolStream; + $output = new MockProtocolStream; + $output->on('message', function (Message $msg) { + var_dump($msg); + }); + $server = new LanguageServer($input, $output); + $capabilities = new ClientCapabilities; + $capabilities->xcontent = true; + $capabilities->xglob = true; + $server->initialize(getmypid(), $capabilities, __DIR__); + \Sabre\Event\Loop\run(); + } }