Skip to content

Commit

Permalink
Merge pull request #223 from maikelmotivo/allow-logger-as-string-value
Browse files Browse the repository at this point in the history
Allow explorer logger to accept channel name
  • Loading branch information
Jeroen-G authored Nov 27, 2023
2 parents bd1066a + 98373db commit f0e4100
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 1 deletion.
5 changes: 5 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## Unreleased

## [3.10.0]

### Added
- The configurable logger may now be a channel name.

## [3.9.0]

### Changed
Expand Down
6 changes: 6 additions & 0 deletions docs/logging.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ To enable the logger set `EXPLORER_ELASTIC_LOGGER_ENABLED=true` in your environm
See also the [SDK](https://github.com/elastic/elasticsearch-php/blob/main/docs/logger.asciidoc) docs.
More information on loggers in Laravel can be found in [Laravel's docs](https://laravel.com/docs/logging).

If you pass a string value as the logger it will be interpreted as the name of a log channel (see Laravel's docs for more information).

Examples:
```php
'logger' => new \Psr\Log\NullLogger(),
Expand All @@ -15,3 +17,7 @@ Examples:
```php
'logger' => \Illuminate\Support\Facades\Log::channel('daily'),
```

```php
'logger' => 'daily',
```
9 changes: 8 additions & 1 deletion src/Infrastructure/Elastic/ElasticClientBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

use Elasticsearch\ClientBuilder;
use Illuminate\Contracts\Config\Repository;
use Illuminate\Support\Facades\Log;

final class ElasticClientBuilder
{
Expand Down Expand Up @@ -65,7 +66,13 @@ public static function fromConfig(Repository $config): ClientBuilder
}

if($config->get('explorer.logging', false) && $config->has('explorer.logger')) {
$builder->setLogger($config->get('explorer.logger'));
$logger = $config->get('explorer.logger');

if(is_string($logger)) {
$logger = Log::channel($logger);
}

$builder->setLogger($logger);
}

return $builder;
Expand Down

0 comments on commit f0e4100

Please sign in to comment.