diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 7158bae..d498fa5 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -7,41 +7,34 @@ on:
jobs:
run:
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php:
- - '7.4'
- - '8.0'
- '8.1'
- symfony-versions: ['none']
+ - '8.2'
coverage: ['none']
+ symfony-versions:
+ - '5.4.*'
+ - '6.0.*'
+ - '6.1.*'
+ - '6.2.*'
+ - '7.0.*'
+ exclude:
+ - php: '8.1'
+ symfony-versions: '7.0.*'
include:
- - symfony-versions: '4.4.*'
- php: '7.4'
- - symfony-versions: '4.4.*'
- php: '8.0'
- - symfony-versions: '4.4.*'
- php: '8.1'
- - symfony-versions: '5.3.*'
- php: '7.4'
- - symfony-versions: '5.3.*'
- php: '8.0'
- - symfony-versions: '5.3.*'
- php: '8.1'
- - symfony-versions: '5.4.*'
- php: '8.0'
- - symfony-versions: '5.4.*'
- php: '8.1'
- - symfony-versions: '6.0.*'
- php: '8.0'
- - symfony-versions: '6.0.*'
- php: '8.1'
- - description: 'Log Code Coverage'
+ - php: '8.1'
+ coverage: 'none'
+ symfony-versions: 'none'
+ - php: '8.2'
+ coverage: 'none'
symfony-versions: 'none'
- php: '8.1'
+ - description: 'Log Code Coverage'
+ php: '8.2'
coverage: 'xdebug'
+ symfony-versions: 'none'
name: PHP ${{ matrix.php }} Symfony ${{ matrix.symfony-versions }} ${{ matrix.description }}
steps:
diff --git a/.github/workflows/gitleaks.yaml b/.github/workflows/gitleaks.yaml
deleted file mode 100644
index be1b555..0000000
--- a/.github/workflows/gitleaks.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-name: gitleaks
-
-on:
- pull_request:
- push:
- branches: [ master, develop ]
-
-jobs:
- gitleaks:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v1
-
- - name: Run gitleaks
- uses: zricethezav/gitleaks-action@master
\ No newline at end of file
diff --git a/composer.json b/composer.json
index a581a41..e2427d1 100644
--- a/composer.json
+++ b/composer.json
@@ -3,6 +3,7 @@
"description": "Sentry monolog logging bundle",
"homepage": "https://github.com/MacPaw/sentry-monolog-adapter",
"type": "symfony-bundle",
+ "version": "1.0.0",
"keywords": [
"MacPaw",
"Symfony",
@@ -26,18 +27,18 @@
}
],
"require": {
- "php": "^7.4 || ^8.0",
- "symfony/console": "^4.4 || ^5.0 || ^6.0",
- "symfony/dotenv": "^4.4 || ^5.0 || ^6.0",
+ "php": "^8.1",
+ "symfony/console": "^5.4 || ^6.0 || ^7.0",
+ "symfony/dotenv": "^5.4 || ^6.0 || ^7.0",
"symfony/monolog-bundle": "^3.0",
"sentry/sentry-symfony": "^4.0",
- "symfony/messenger": "^4.4 || ^5.0 || ^6.0"
+ "symfony/messenger": "^5.4 || ^6.0 || ^7.0"
},
"require-dev": {
- "phpstan/phpstan": "0.12.*",
+ "phpstan/phpstan": "^1.3",
"squizlabs/php_codesniffer": "3.5.*",
- "symfony/phpunit-bridge": "^4.4 || ^5.0 || ^6.0",
- "symfony/yaml": "^4.4 || ^5.0 || ^6.0"
+ "symfony/phpunit-bridge": "^5.4 || ^6.0 || ^7.0",
+ "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
},
"autoload": {
"psr-4": {
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index c522b28..4c8a6db 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -12,7 +12,7 @@
-
+
diff --git a/src/DependencyInjection/SentryMonologAdapterExtension.php b/src/DependencyInjection/SentryMonologAdapterExtension.php
index 499f8ec..77f7b4b 100644
--- a/src/DependencyInjection/SentryMonologAdapterExtension.php
+++ b/src/DependencyInjection/SentryMonologAdapterExtension.php
@@ -12,7 +12,7 @@
class SentryMonologAdapterExtension extends Extension
{
/**
- * @param array $configs
+ * @param array $configs
*
* {@inheritdoc}
*/
@@ -28,7 +28,7 @@ public function load(array $configs, ContainerBuilder $container): void
}
/**
- * @param array $config
+ * @param array> $config
*/
private function loadMessengerLoggingMiddleware(
array $config,
@@ -55,7 +55,7 @@ private function loadMessengerLoggingMiddleware(
}
/**
- * @param array $config
+ * @param array> $config
*/
private function loadMonologHandlerDecorator(
array $config,
diff --git a/src/Monolog/Handler/MonologHandlerDecorator.php b/src/Monolog/Handler/MonologHandlerDecorator.php
index a963148..30dbc91 100644
--- a/src/Monolog/Handler/MonologHandlerDecorator.php
+++ b/src/Monolog/Handler/MonologHandlerDecorator.php
@@ -5,15 +5,13 @@
namespace SentryMonologAdapter\Monolog\Handler;
use Monolog\Handler\AbstractProcessingHandler;
+use Monolog\LogRecord;
use Sentry\Monolog\Handler;
use Sentry\State\HubInterface;
use Sentry\State\Scope;
use function Sentry\withScope;
-/**
- * @phpstan-import-type FormattedRecord from \Monolog\Handler\AbstractProcessingHandler
- */
class MonologHandlerDecorator extends AbstractProcessingHandler
{
private Handler $sentryHandler;
@@ -27,19 +25,21 @@ public function __construct(HubInterface $hub, Handler $sentryHandler)
}
/**
- * @phpstan-param FormattedRecord $record
+ * @phpstan-param LogRecord $record
*/
- protected function write(array $record): void
+ protected function write(LogRecord $record): void
{
$this->hub->withScope(function (Scope $scope) use ($record): void {
- if (isset($record['context']['extra']) && \is_array($record['context']['extra'])) {
- foreach ($record['context']['extra'] as $key => $value) {
+ $context = $record->context;
+
+ if (isset($context['extra']) && \is_array($context['extra'])) {
+ foreach ($context['extra'] as $key => $value) {
$scope->setExtra((string) $key, $value);
}
}
- if (isset($record['context']['tags']) && \is_array($record['context']['tags'])) {
- foreach ($record['context']['tags'] as $key => $value) {
+ if (isset($context['tags']) && \is_array($context['tags'])) {
+ foreach ($context['tags'] as $key => $value) {
$scope->setTag($key, $value);
}
}
diff --git a/src/Processor/ExceptionProcessor.php b/src/Processor/ExceptionProcessor.php
index 1345b2b..ec096f8 100644
--- a/src/Processor/ExceptionProcessor.php
+++ b/src/Processor/ExceptionProcessor.php
@@ -9,9 +9,9 @@
class ExceptionProcessor
{
/**
- * @param array $record
+ * @param array $record
*
- * @return array[]
+ * @return array
*/
public function __invoke(array $record): array
{
@@ -36,10 +36,10 @@ public function __invoke(array $record): array
/**
* setExtra.
*
- * @param array[] $record
- * @param array[] $parameters
+ * @param array> $record
+ * @param array $parameters
*
- * @return array[]
+ * @return array>
*/
private function setExtra(array $record, array $parameters): array
{
diff --git a/src/SentryMonologAdapterBundle.php b/src/SentryMonologAdapterBundle.php
index 24f46d0..007d735 100644
--- a/src/SentryMonologAdapterBundle.php
+++ b/src/SentryMonologAdapterBundle.php
@@ -8,5 +8,4 @@
class SentryMonologAdapterBundle extends Bundle
{
-
}
diff --git a/tests/Integration/Messenger/MonologHandlerDecoratorTest.php b/tests/Integration/Messenger/MonologHandlerDecoratorTest.php
index e45faba..fc00497 100644
--- a/tests/Integration/Messenger/MonologHandlerDecoratorTest.php
+++ b/tests/Integration/Messenger/MonologHandlerDecoratorTest.php
@@ -4,7 +4,9 @@
namespace SentryMonologAdapter\Tests\Integration\Messenger;
+use Monolog\Level;
use Monolog\Logger;
+use Monolog\LogRecord;
use PHPUnit\Framework\TestCase;
use Sentry\ClientInterface;
use Sentry\Event;
@@ -16,14 +18,14 @@
class MonologHandlerDecoratorTest extends TestCase
{
/**
- * @param array $record
- * @param array $expectedExtra
- * @param array $expectedTags
+ * @param LogRecord $record
+ * @param array $expectedExtra
+ * @param array $expectedTags
*
* @dataProvider handleDataProvider
*/
public function testHandle(
- array $record,
+ LogRecord $record,
array $expectedExtra,
array $expectedTags
): void {
@@ -55,12 +57,12 @@ public function handleDataProvider(): array
{
return [
[
- [
- 'message' => 'test',
- 'level' => Logger::DEBUG,
- 'level_name' => Logger::getLevelName(Logger::DEBUG),
- 'channel' => 'channel.test',
- 'context' => [
+ new LogRecord(
+ new \DateTimeImmutable(),
+ 'channel.test',
+ Level::Debug,
+ 'test',
+ [
'extra' => [
'id' => 'test_id',
'message' => 'test_message'
@@ -69,8 +71,8 @@ public function handleDataProvider(): array
'test_key' => 'test_value'
]
],
- 'extra' => []
- ],
+ []
+ ),
[
'id' => 'test_id',
'message' => 'test_message',
@@ -82,14 +84,14 @@ public function handleDataProvider(): array
]
],
[
- [
- 'message' => 'test',
- 'level' => Logger::DEBUG,
- 'level_name' => Logger::getLevelName(Logger::DEBUG),
- 'channel' => 'channel.test',
- 'context' => [],
- 'extra' => []
- ],
+ new LogRecord(
+ new \DateTimeImmutable(),
+ 'channel.test',
+ Level::Debug,
+ 'test',
+ [],
+ []
+ ),
[
'monolog.channel' => 'channel.test',
'monolog.level' => Logger::getLevelName(Logger::DEBUG),