Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with elasticsearch configuration #236

Closed
henres opened this issue Oct 25, 2017 · 3 comments
Closed

Problem with elasticsearch configuration #236

henres opened this issue Oct 25, 2017 · 3 comments

Comments

@henres
Copy link

henres commented Oct 25, 2017

Hello,
Have a strange problem with elasticsearch configuration.
On sf 3.2 and monolog-bundle 3.1.

When I define an elasticsearch handler:

monolog:
    handlers:
        elasticsearch:
            type: "elasticsearch"
            elasticsearch:
                host: 'elasticsearch'
                port: '9200'
            index: 'ep_php_logs_dev'
            level: 'debug'
            tags: 'monolog.logger'
            channels: ['!event']

I have snc/redis enable for another reason
And I have a nice error :

Attempted to load class "Redis" from the global namespace.
Did you forget a "use" statement?

I don't have it if I remove elasticsearch handler.

Try this configuration in two different project. Same result

@Tobion
Copy link
Member

Tobion commented Jan 15, 2018

I don't think we can do anything here without knowing your setup. I don't think the elasticsearch handler uses redis. So why would that be related? If there is a connection is probably more related to https://github.com/snc/SncRedisBundle as you say. Please provide a way to reproduce the issue or add some debugingg info.

@lyrixx
Copy link
Member

lyrixx commented May 18, 2019

Fixed by symfony/symfony#31535

@fabpot fabpot closed this as completed May 18, 2019
fabpot added a commit to symfony/symfony that referenced this issue May 18, 2019
This PR was merged into the 3.4 branch.

Discussion
----------

[Debug] Wrap call to require_once in a try/catch

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | symfony/monolog-bundle#236
| License       | MIT
| Doc PR        |

If the included file contains an error, it hides the real error. This
makes debugging harder.

How to reproduce:

```
composer create-project symfony/skeleton symfony-3.4 3.4
cd symfony-3.4
composer req monolog
```

Add to `monolog.yaml`:
```yaml
        elasticsearch:
            type: "elasticsearch"
            elasticsearch:
                host: 'elasticsearch'
                port: '9200'
            index: 'ep_php_logs_dev'
            level: 'debug'
            tags: 'monolog.logger'
            channels: ['!event']
```

This will fail because the the `\Elastica\Client` class does not exist.
But this error will be hidden by the `ClassNotFoundFatalErrorHandler`
because it will try to load the `Symfony\Component\Kernel\Client` and
this class extends `Symfony\Component\BrowserKit\Client`. The last one
is a soft dependency...

---

Before
```
Fatal error: Uncaught Error: Class 'Symfony\Component\BrowserKit\Client' not found in /tmp/symfony-3.4/vendor/symfony/http-kernel/Client.php:31
```

After:
```
Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "Client" from namespace "Elastica".
Did you forget a "use" statement for another namespace? in /tmp/symfony-es/var/cache/dev/ContainerWXN4mS9/srcApp_KernelDevDebugContainer.php:303
```

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against the master branch.
-->

Commits
-------

afb6e1e [Debug] Wrap call to require_once in a try/catch
@Vovchikus
Copy link

Probably, you forgot to add to composer ruflin/elastica library. Had the same issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants