diff --git a/composer.json b/composer.json
index 066a6e66..07134099 100644
--- a/composer.json
+++ b/composer.json
@@ -10,6 +10,7 @@
"consolidation/annotated-command": "~2",
"drupal/console-core": "1.0.2",
"drush/drush": "8.x",
+ "monolog/monolog": "^1.23",
"psr/log": "^1.0",
"psy/psysh": "^0.8.11",
"symfony/console": "^3.2",
diff --git a/composer.lock b/composer.lock
index 36a45659..6462b8c6 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,20 +4,20 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "content-hash": "9a25b24761df3282da478cb6fb3b3358",
+ "content-hash": "ccedb24788cdb40f066b117dd4a43c6d",
"packages": [
{
"name": "consolidation/annotated-command",
- "version": "2.8.3",
+ "version": "2.8.4",
"source": {
"type": "git",
"url": "https://github.com/consolidation/annotated-command.git",
- "reference": "8f8f5da2ca06fbd3a85f7d551c49f844b7c59437"
+ "reference": "651541a0b68318a2a202bda558a676e5ad92223c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/8f8f5da2ca06fbd3a85f7d551c49f844b7c59437",
- "reference": "8f8f5da2ca06fbd3a85f7d551c49f844b7c59437",
+ "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/651541a0b68318a2a202bda558a676e5ad92223c",
+ "reference": "651541a0b68318a2a202bda558a676e5ad92223c",
"shasum": ""
},
"require": {
@@ -29,9 +29,9 @@
"symfony/finder": "^2.5|^3|^4"
},
"require-dev": {
- "greg-1-anderson/composer-test-scenarios": "^1",
- "phpunit/phpunit": "^4.8",
- "satooshi/php-coveralls": "^1.0.2 | dev-master",
+ "g1a/composer-test-scenarios": "^2",
+ "phpunit/phpunit": "^6",
+ "satooshi/php-coveralls": "^2",
"squizlabs/php_codesniffer": "^2.7"
},
"type": "library",
@@ -56,20 +56,20 @@
}
],
"description": "Initialize Symfony Console commands from annotated command class methods.",
- "time": "2018-02-23T16:32:04+00:00"
+ "time": "2018-05-25T18:04:25+00:00"
},
{
"name": "consolidation/config",
- "version": "1.0.9",
+ "version": "1.0.11",
"source": {
"type": "git",
"url": "https://github.com/consolidation/config.git",
- "reference": "34ca8d7c1ee60a7b591b10617114cf1210a2e92c"
+ "reference": "ede41d946078e97e7a9513aadc3352f1c26817af"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/consolidation/config/zipball/34ca8d7c1ee60a7b591b10617114cf1210a2e92c",
- "reference": "34ca8d7c1ee60a7b591b10617114cf1210a2e92c",
+ "url": "https://api.github.com/repos/consolidation/config/zipball/ede41d946078e97e7a9513aadc3352f1c26817af",
+ "reference": "ede41d946078e97e7a9513aadc3352f1c26817af",
"shasum": ""
},
"require": {
@@ -78,7 +78,7 @@
"php": ">=5.4.0"
},
"require-dev": {
- "greg-1-anderson/composer-test-scenarios": "^1",
+ "g1a/composer-test-scenarios": "^1",
"phpunit/phpunit": "^4",
"satooshi/php-coveralls": "^1.0",
"squizlabs/php_codesniffer": "2.*",
@@ -110,20 +110,20 @@
}
],
"description": "Provide configuration services for a commandline tool.",
- "time": "2017-12-22T17:28:19+00:00"
+ "time": "2018-05-27T01:17:02+00:00"
},
{
"name": "consolidation/log",
- "version": "1.0.5",
+ "version": "1.0.6",
"source": {
"type": "git",
"url": "https://github.com/consolidation/log.git",
- "reference": "dbc7c535f319a4a2d5a5077738f8eb7c10df8821"
+ "reference": "dfd8189a771fe047bf3cd669111b2de5f1c79395"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/consolidation/log/zipball/dbc7c535f319a4a2d5a5077738f8eb7c10df8821",
- "reference": "dbc7c535f319a4a2d5a5077738f8eb7c10df8821",
+ "url": "https://api.github.com/repos/consolidation/log/zipball/dfd8189a771fe047bf3cd669111b2de5f1c79395",
+ "reference": "dfd8189a771fe047bf3cd669111b2de5f1c79395",
"shasum": ""
},
"require": {
@@ -132,8 +132,9 @@
"symfony/console": "^2.8|^3|^4"
},
"require-dev": {
+ "g1a/composer-test-scenarios": "^1",
"phpunit/phpunit": "4.*",
- "satooshi/php-coveralls": "dev-master",
+ "satooshi/php-coveralls": "^2",
"squizlabs/php_codesniffer": "2.*"
},
"type": "library",
@@ -158,20 +159,20 @@
}
],
"description": "Improved Psr-3 / Psr\\Log logger based on Symfony Console components.",
- "time": "2017-11-29T01:44:16+00:00"
+ "time": "2018-05-25T18:14:39+00:00"
},
{
"name": "consolidation/output-formatters",
- "version": "3.2.0",
+ "version": "3.2.1",
"source": {
"type": "git",
"url": "https://github.com/consolidation/output-formatters.git",
- "reference": "da889e4bce19f145ca4ec5b1725a946f4eb625a9"
+ "reference": "d78ef59aea19d3e2e5a23f90a055155ee78a0ad5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/da889e4bce19f145ca4ec5b1725a946f4eb625a9",
- "reference": "da889e4bce19f145ca4ec5b1725a946f4eb625a9",
+ "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/d78ef59aea19d3e2e5a23f90a055155ee78a0ad5",
+ "reference": "d78ef59aea19d3e2e5a23f90a055155ee78a0ad5",
"shasum": ""
},
"require": {
@@ -180,7 +181,7 @@
"symfony/finder": "^2.5|^3|^4"
},
"require-dev": {
- "g-1-a/composer-test-scenarios": "^2",
+ "g1a/composer-test-scenarios": "^2",
"phpunit/phpunit": "^5.7.27",
"satooshi/php-coveralls": "^2",
"squizlabs/php_codesniffer": "^2.7",
@@ -213,7 +214,7 @@
}
],
"description": "Format text by applying transformations provided by plug-in formatters.",
- "time": "2018-03-20T15:18:32+00:00"
+ "time": "2018-05-25T18:02:34+00:00"
},
{
"name": "consolidation/robo",
@@ -702,16 +703,16 @@
},
{
"name": "drush/drush",
- "version": "8.1.16",
+ "version": "8.1.17",
"source": {
"type": "git",
"url": "https://github.com/drush-ops/drush.git",
- "reference": "bbaff2dc725a5f3eb22006c5de3dc92a2de54b08"
+ "reference": "7ea681dc7e639f6ddab906e78611d3558f88d9b0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/drush-ops/drush/zipball/bbaff2dc725a5f3eb22006c5de3dc92a2de54b08",
- "reference": "bbaff2dc725a5f3eb22006c5de3dc92a2de54b08",
+ "url": "https://api.github.com/repos/drush-ops/drush/zipball/7ea681dc7e639f6ddab906e78611d3558f88d9b0",
+ "reference": "7ea681dc7e639f6ddab906e78611d3558f88d9b0",
"shasum": ""
},
"require": {
@@ -807,7 +808,7 @@
],
"description": "Drush is a command line shell and scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt.",
"homepage": "http://www.drush.org",
- "time": "2018-02-06T21:18:48+00:00"
+ "time": "2018-05-23T16:58:54+00:00"
},
{
"name": "grasmash/expander",
@@ -1056,6 +1057,84 @@
],
"time": "2017-05-10T09:20:27+00:00"
},
+ {
+ "name": "monolog/monolog",
+ "version": "1.23.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Seldaek/monolog.git",
+ "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4",
+ "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0",
+ "psr/log": "~1.0"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0.0"
+ },
+ "require-dev": {
+ "aws/aws-sdk-php": "^2.4.9 || ^3.0",
+ "doctrine/couchdb": "~1.0@dev",
+ "graylog2/gelf-php": "~1.0",
+ "jakub-onderka/php-parallel-lint": "0.9",
+ "php-amqplib/php-amqplib": "~2.4",
+ "php-console/php-console": "^3.1.3",
+ "phpunit/phpunit": "~4.5",
+ "phpunit/phpunit-mock-objects": "2.3.0",
+ "ruflin/elastica": ">=0.90 <3.0",
+ "sentry/sentry": "^0.13",
+ "swiftmailer/swiftmailer": "^5.3|^6.0"
+ },
+ "suggest": {
+ "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
+ "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
+ "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
+ "ext-mongo": "Allow sending log messages to a MongoDB server",
+ "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
+ "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
+ "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
+ "php-console/php-console": "Allow sending log messages to Google Chrome",
+ "rollbar/rollbar": "Allow sending log messages to Rollbar",
+ "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
+ "sentry/sentry": "Allow sending log messages to a Sentry server"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Monolog\\": "src/Monolog"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
+ }
+ ],
+ "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
+ "homepage": "http://github.com/Seldaek/monolog",
+ "keywords": [
+ "log",
+ "logging",
+ "psr-3"
+ ],
+ "time": "2017-06-19T01:22:40+00:00"
+ },
{
"name": "nikic/php-parser",
"version": "v3.1.5",
@@ -1377,21 +1456,22 @@
},
{
"name": "symfony/config",
- "version": "v3.4.8",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "7c2a9d44f4433863e9bca682e7f03609234657f9"
+ "reference": "73e055cf2e6467715f187724a0347ea32079967c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/7c2a9d44f4433863e9bca682e7f03609234657f9",
- "reference": "7c2a9d44f4433863e9bca682e7f03609234657f9",
+ "url": "https://api.github.com/repos/symfony/config/zipball/73e055cf2e6467715f187724a0347ea32079967c",
+ "reference": "73e055cf2e6467715f187724a0347ea32079967c",
"shasum": ""
},
"require": {
"php": "^5.5.9|>=7.0.8",
- "symfony/filesystem": "~2.8|~3.0|~4.0"
+ "symfony/filesystem": "~2.8|~3.0|~4.0",
+ "symfony/polyfill-ctype": "~1.8"
},
"conflict": {
"symfony/dependency-injection": "<3.3",
@@ -1436,20 +1516,20 @@
],
"description": "Symfony Config Component",
"homepage": "https://symfony.com",
- "time": "2018-03-19T22:32:39+00:00"
+ "time": "2018-05-14T16:49:53+00:00"
},
{
"name": "symfony/console",
- "version": "v3.4.8",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "d4bb70fa24d540c309d88a9d6e43fb2d339b1fbf"
+ "reference": "36f83f642443c46f3cf751d4d2ee5d047d757a27"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/d4bb70fa24d540c309d88a9d6e43fb2d339b1fbf",
- "reference": "d4bb70fa24d540c309d88a9d6e43fb2d339b1fbf",
+ "url": "https://api.github.com/repos/symfony/console/zipball/36f83f642443c46f3cf751d4d2ee5d047d757a27",
+ "reference": "36f83f642443c46f3cf751d4d2ee5d047d757a27",
"shasum": ""
},
"require": {
@@ -1470,7 +1550,7 @@
"symfony/process": "~3.3|~4.0"
},
"suggest": {
- "psr/log": "For using the console logger",
+ "psr/log-implementation": "For using the console logger",
"symfony/event-dispatcher": "",
"symfony/lock": "",
"symfony/process": ""
@@ -1505,20 +1585,20 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
- "time": "2018-04-03T05:22:50+00:00"
+ "time": "2018-05-16T08:49:21+00:00"
},
{
"name": "symfony/debug",
- "version": "v3.4.8",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
- "reference": "9cf7c2271cfb89ef9727db1b740ca77be57bf9d7"
+ "reference": "b28fd73fefbac341f673f5efd707d539d6a19f68"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/debug/zipball/9cf7c2271cfb89ef9727db1b740ca77be57bf9d7",
- "reference": "9cf7c2271cfb89ef9727db1b740ca77be57bf9d7",
+ "url": "https://api.github.com/repos/symfony/debug/zipball/b28fd73fefbac341f673f5efd707d539d6a19f68",
+ "reference": "b28fd73fefbac341f673f5efd707d539d6a19f68",
"shasum": ""
},
"require": {
@@ -1561,20 +1641,20 @@
],
"description": "Symfony Debug Component",
"homepage": "https://symfony.com",
- "time": "2018-04-03T05:22:50+00:00"
+ "time": "2018-05-16T14:03:39+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v3.4.8",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "24a68710c6ddc1e3d159a110cef94cedfcf3c611"
+ "reference": "8a4672aca8db6d807905d695799ea7d83c8e5bba"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/24a68710c6ddc1e3d159a110cef94cedfcf3c611",
- "reference": "24a68710c6ddc1e3d159a110cef94cedfcf3c611",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/8a4672aca8db6d807905d695799ea7d83c8e5bba",
+ "reference": "8a4672aca8db6d807905d695799ea7d83c8e5bba",
"shasum": ""
},
"require": {
@@ -1632,11 +1712,11 @@
],
"description": "Symfony DependencyInjection Component",
"homepage": "https://symfony.com",
- "time": "2018-03-29T11:25:31+00:00"
+ "time": "2018-05-25T11:57:15+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v3.4.8",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
@@ -1699,20 +1779,21 @@
},
{
"name": "symfony/filesystem",
- "version": "v3.4.8",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "253a4490b528597aa14d2bf5aeded6f5e5e4a541"
+ "reference": "8e03ca3fa52a0f56b87506f38cf7bd3f9442b3a0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/253a4490b528597aa14d2bf5aeded6f5e5e4a541",
- "reference": "253a4490b528597aa14d2bf5aeded6f5e5e4a541",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/8e03ca3fa52a0f56b87506f38cf7bd3f9442b3a0",
+ "reference": "8e03ca3fa52a0f56b87506f38cf7bd3f9442b3a0",
"shasum": ""
},
"require": {
- "php": "^5.5.9|>=7.0.8"
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/polyfill-ctype": "~1.8"
},
"type": "library",
"extra": {
@@ -1744,20 +1825,20 @@
],
"description": "Symfony Filesystem Component",
"homepage": "https://symfony.com",
- "time": "2018-02-22T10:48:49+00:00"
+ "time": "2018-05-16T08:49:21+00:00"
},
{
"name": "symfony/finder",
- "version": "v3.4.8",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "bd14efe8b1fabc4de82bf50dce62f05f9a102433"
+ "reference": "472a92f3df8b247b49ae364275fb32943b9656c6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/bd14efe8b1fabc4de82bf50dce62f05f9a102433",
- "reference": "bd14efe8b1fabc4de82bf50dce62f05f9a102433",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/472a92f3df8b247b49ae364275fb32943b9656c6",
+ "reference": "472a92f3df8b247b49ae364275fb32943b9656c6",
"shasum": ""
},
"require": {
@@ -1793,20 +1874,75 @@
],
"description": "Symfony Finder Component",
"homepage": "https://symfony.com",
- "time": "2018-04-04T05:07:11+00:00"
+ "time": "2018-05-16T08:49:21+00:00"
+ },
+ {
+ "name": "symfony/polyfill-ctype",
+ "version": "v1.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-ctype.git",
+ "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/7cc359f1b7b80fc25ed7796be7d96adc9b354bae",
+ "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.8-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Ctype\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ },
+ {
+ "name": "Gert de Pagter",
+ "email": "BackEndTea@gmail.com"
+ }
+ ],
+ "description": "Symfony polyfill for ctype functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "ctype",
+ "polyfill",
+ "portable"
+ ],
+ "time": "2018-04-30T19:57:29+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.7.0",
+ "version": "v1.8.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
+ "reference": "3296adf6a6454a050679cde90f95350ad604b171"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
- "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171",
+ "reference": "3296adf6a6454a050679cde90f95350ad604b171",
"shasum": ""
},
"require": {
@@ -1818,7 +1954,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.7-dev"
+ "dev-master": "1.8-dev"
}
},
"autoload": {
@@ -1852,20 +1988,20 @@
"portable",
"shim"
],
- "time": "2018-01-30T19:27:44+00:00"
+ "time": "2018-04-26T10:06:28+00:00"
},
{
"name": "symfony/process",
- "version": "v3.4.8",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "4b7d64e852886319e93ddfdecff0d744ab87658b"
+ "reference": "4cbf2db9abcb01486a21b7a059e03a62fae63187"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/4b7d64e852886319e93ddfdecff0d744ab87658b",
- "reference": "4b7d64e852886319e93ddfdecff0d744ab87658b",
+ "url": "https://api.github.com/repos/symfony/process/zipball/4cbf2db9abcb01486a21b7a059e03a62fae63187",
+ "reference": "4cbf2db9abcb01486a21b7a059e03a62fae63187",
"shasum": ""
},
"require": {
@@ -1901,20 +2037,20 @@
],
"description": "Symfony Process Component",
"homepage": "https://symfony.com",
- "time": "2018-04-03T05:22:50+00:00"
+ "time": "2018-05-16T08:49:21+00:00"
},
{
"name": "symfony/translation",
- "version": "v3.4.8",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "80e19eaf12cbb546ac40384e5c55c36306823e57"
+ "reference": "7047f725e35eab768137c677f8c38e4a2a8e38fb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/80e19eaf12cbb546ac40384e5c55c36306823e57",
- "reference": "80e19eaf12cbb546ac40384e5c55c36306823e57",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/7047f725e35eab768137c677f8c38e4a2a8e38fb",
+ "reference": "7047f725e35eab768137c677f8c38e4a2a8e38fb",
"shasum": ""
},
"require": {
@@ -1935,7 +2071,7 @@
"symfony/yaml": "~3.4|~4.0"
},
"suggest": {
- "psr/log": "To use logging capability in translator",
+ "psr/log-implementation": "To use logging capability in translator",
"symfony/config": "",
"symfony/yaml": ""
},
@@ -1969,20 +2105,20 @@
],
"description": "Symfony Translation Component",
"homepage": "https://symfony.com",
- "time": "2018-02-22T06:28:18+00:00"
+ "time": "2018-05-21T10:06:52+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v3.4.8",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "951643091b39a6fd40fce56cd16e21e12bef3feb"
+ "reference": "0e6545672d8c9ce70dd472adc2f8b03155a46f73"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/951643091b39a6fd40fce56cd16e21e12bef3feb",
- "reference": "951643091b39a6fd40fce56cd16e21e12bef3feb",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0e6545672d8c9ce70dd472adc2f8b03155a46f73",
+ "reference": "0e6545672d8c9ce70dd472adc2f8b03155a46f73",
"shasum": ""
},
"require": {
@@ -2038,24 +2174,25 @@
"debug",
"dump"
],
- "time": "2018-04-03T20:34:11+00:00"
+ "time": "2018-04-26T12:42:15+00:00"
},
{
"name": "symfony/yaml",
- "version": "v3.4.8",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "a42f9da85c7c38d59f5e53f076fe81a091f894d0"
+ "reference": "c5010cc1692ce1fa328b1fb666961eb3d4a85bb0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/a42f9da85c7c38d59f5e53f076fe81a091f894d0",
- "reference": "a42f9da85c7c38d59f5e53f076fe81a091f894d0",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/c5010cc1692ce1fa328b1fb666961eb3d4a85bb0",
+ "reference": "c5010cc1692ce1fa328b1fb666961eb3d4a85bb0",
"shasum": ""
},
"require": {
- "php": "^5.5.9|>=7.0.8"
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/polyfill-ctype": "~1.8"
},
"conflict": {
"symfony/console": "<3.4"
@@ -2096,7 +2233,7 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
- "time": "2018-04-03T05:14:20+00:00"
+ "time": "2018-05-03T23:18:14+00:00"
},
{
"name": "twig/twig",
diff --git a/src/Provision/Console/Logger.php b/src/Provision/Console/Logger.php
new file mode 100644
index 00000000..e077b08a
--- /dev/null
+++ b/src/Provision/Console/Logger.php
@@ -0,0 +1,55 @@
+log(self::COMMAND, $output, $context);
+ }
+
+ /**
+ * Log a message indicating that it is a console command.
+ *
+ * @param $output
+ * @param array $context
+ *
+ * @return bool
+ */
+ public function console($output, $context = []) {
+ return $this->log(self::CONSOLE, $output, $context);
+ }
+
+
+ /**
+ * Logging levels from syslog protocol defined in RFC 5424
+ *
+ * @var array $levels Logging levels
+ */
+ protected static $levels = array(
+ self::DEBUG => 'DEBUG',
+ self::INFO => 'INFO',
+ self::NOTICE => 'NOTICE',
+ self::WARNING => 'WARNING',
+ self::ERROR => 'ERROR',
+ self::CRITICAL => 'CRITICAL',
+ self::ALERT => 'ALERT',
+ self::EMERGENCY => 'EMERGENCY',
+ self::COMMAND => 'COMMAND',
+ self::CONSOLE => 'CONSOLE',
+ );
+
+}
\ No newline at end of file
diff --git a/src/Provision/Console/ProvisionStyle.php b/src/Provision/Console/ProvisionStyle.php
index 558c437a..e2934b4f 100644
--- a/src/Provision/Console/ProvisionStyle.php
+++ b/src/Provision/Console/ProvisionStyle.php
@@ -4,6 +4,7 @@
use Aegir\Provision\Provision;
use Drupal\Console\Core\Style\DrupalStyle;
+use Monolog\Handler\StreamHandler;
use Robo\Common\InputAwareTrait;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\BufferedOutput;
@@ -91,6 +92,36 @@ public function taskInfoBlock($task_id, $op, $status = 'none') {
);
}
+ /**
+ * {@inheritdoc}
+ */
+ public function write($messages, $newline = false, $type = self::OUTPUT_NORMAL)
+ {
+ // Pipe to monolog
+ if (!is_array($messages)) {
+ $messages = [$messages];
+ }
+ Provision::getProvision()->getLogger()->console(implode("\n", $messages));
+ parent::write($messages, $newline, $type);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function writeln($messages, $type = self::OUTPUT_NORMAL)
+ {
+ // Pipe to monolog
+ if (!is_array($messages)) {
+ $messages = [$messages];
+ }
+
+ // @TODO: Use one or both based on config.
+ Provision::getProvision()->getLogger()->pushHandler(new LogHandler());
+ Provision::getProvision()->getLogger()->console(implode("\n", $messages));
+ }
+
+
+
/**
* Use to display a directory $ command.
*
diff --git a/src/Provision/Context.php b/src/Provision/Context.php
index 04028192..75deaa32 100644
--- a/src/Provision/Context.php
+++ b/src/Provision/Context.php
@@ -995,21 +995,21 @@ public function shell_exec($command, $dir = NULL, $return = 'stdout') {
$this->type == 'server'? $this->getProperty('server_config_path'):
$this->getProperty('root')
;
-
- if ($this->getProvision()->getOutput()->isVerbose()) {
- $this->getProvision()->io()->commandBlock($command, $effective_wd);
- $this->getProvision()->io()->customLite("Writing output to $tmp_output_file", ProvisionStyle::ICON_FILE, 'comment');
-
- // If verbose, Use tee so we see it and it saves to file.
- // Thanks to https://askubuntu.com/a/731237
- // Uses "2>&1 |" so it works with older bash shells.
- $command = "$command 2>&1 | tee -a $tmp_output_file; exit \${PIPESTATUS[0]}
-";
- }
- else {
- // If not verbose, just save it to file.
- $command .= "> $tmp_output_file 2>&1";
- }
+//
+// if ($this->getProvision()->getOutput()->isVerbose()) {
+// $this->getProvision()->io()->commandBlock($command, $effective_wd);
+// $this->getProvision()->io()->customLite("Writing output to $tmp_output_file", ProvisionStyle::ICON_FILE, 'comment');
+//
+// // If verbose, Use tee so we see it and it saves to file.
+// // Thanks to https://askubuntu.com/a/731237
+// // Uses "2>&1 |" so it works with older bash shells.
+// $command = "$command 2>&1 | tee -a $tmp_output_file; exit \${PIPESTATUS[0]}
+//";
+// }
+// else {
+// // If not verbose, just save it to file.
+// $command .= "> $tmp_output_file 2>&1";
+// }
// Output and Errors to file.
$process = $this->process_exec($command, $effective_wd);
@@ -1036,7 +1036,7 @@ public function process_exec($command, $dir = NULL) {
$process = new Process($command);
$process->setTimeout(null);
- $process->setTty(true);
+// $process->setTty(true);
$env = $_SERVER;
@@ -1055,12 +1055,15 @@ public function process_exec($command, $dir = NULL) {
$process->setWorkingDirectory($dir);
}
- $io = $this->getProvision()->io();
- $verbose = (bool) $this->getProvision()->getOutput()->isVerbose();
- $process->run(function ($type, $buffer) use ($verbose, $io) {
- if ($verbose) {
- $io->writeln(trim($buffer));
- }
+ $this->getProvision()->getLogger()->command('Running {command} ...', [
+ 'command' => $process->getCommandLine(),
+ ]);
+ $process->run(function ($type, $buffer) use ($command) {
+ $this->getProvision()->getLogger()->console('{buffer}', [
+ 'command' => $command,
+ 'buffer' => trim($buffer),
+ 'time' => time(),
+ ]);
});
return $process;
}
diff --git a/src/Provision/Provision.php b/src/Provision/Provision.php
index 38d9df36..c32a5f06 100644
--- a/src/Provision/Provision.php
+++ b/src/Provision/Provision.php
@@ -15,6 +15,10 @@
use Aegir\Provision\Robo\ProvisionCollectionBuilder;
use Aegir\Provision\Robo\ProvisionExecutor;
use Aegir\Provision\Robo\ProvisionTasks;
+
+use Monolog\Logger;
+use Psr\Log\LoggerInterface;
+
use Drupal\Console\Core\Style\DrupalStyle;
use League\Container\Container;
use League\Container\ContainerAwareInterface;
@@ -119,7 +123,7 @@ public function __construct(
OutputInterface $output = NULL
) {
- $logger = new ConsoleLogger($output);
+ $logger = new \Aegir\Provision\Console\Logger('provision');
$this->setLogger($logger);
$this
@@ -150,7 +154,7 @@ public function __construct(
$this->runner->setSelfUpdateRepository(self::REPOSITORY);
$this->setBuilder($container->get('builder'));
- $this->setLogger($container->get('logger'));
+// $this->setLogger($container->get('logger'));
$this->tasks = $container->get('tasks');
$this->console = new ConsoleOutput($output->getVerbosity());
@@ -291,7 +295,7 @@ public function getApplication()
* Gets Logger object.
* Returns the currently active Logger instance.
*
- * @return \Psr\Log\LoggerInterface
+ * @return \Aegir\Provision\Console\Logger
*/
public function getLogger()
{