---
name: "Search::Elasticsearch::Logger::LogAny"
section: "3pm"
platform: "linux"
package: "libsearch-elasticsearch-perl"
version: "8.12-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Search::Elasticsearch::Logger::LogAny"
---

# Search::Elasticsearch::Logger::LogAny(3pm)

A Log::Any-based Logger implementation

## NAME

Search::Elasticsearch::Logger::LogAny - A Log::Any-based Logger implementation

## VERSION

version 8.12

## DESCRIPTION

Search::Elasticsearch::Logger::LogAny provides event logging and the tracing of request/response conversations with Elasticsearch nodes via the Log::Any module.

*Logging* refers to log events, such as node failures, pings, sniffs, etc, and should be enabled for monitoring purposes.

*Tracing* refers to the actual HTTP requests and responses sent to Elasticsearch nodes.  Tracing can be enabled for debugging purposes, or for generating a pretty-printed `"curl"` script which can be used for reporting problems.

*Deprecations* refers to deprecation warnings returned by Elasticsearch 5.x and above. Deprecations are logged to STDERR by default.

## CONFIGURATION

Logging and tracing can be enabled using Log::Any::Adapter, or by passing options to "**new()**" in Search::Elasticsearch.

### USING LOG::ANY::ADAPTER

Send all logging and tracing to `"STDERR"`:

```
    use Log::Any::Adapter qw(Stderr);
    use Search::Elasticsearch;
    my $e = Search::Elasticsearch->new;
```

Send logging and deprecations to a file, and tracing to Stderr:

```
    use Log::Any::Adapter();
    Log::Any::Adapter->set(
        { category => 'elasticsearch.event' },
        'File',
        '/path/to/file.log'
    );
    Log::Any::Adapter->set(
        { category => 'elasticsearch.trace' },
        'Stderr'
    );
    Log::Any::Adapter->set(
        { category => 'elasticsearch.deprecation' },
        'File',
        '/path/to/deprecations.log'
    );
    use Search::Elasticsearch;
    my $e = Search::Elasticsearch->new;
```

### USING "log\_to", "trace\_to" AND "deprecate\_to"

Send all logging and tracing to `"STDERR"`:

```
    use Search::Elasticsearch;
    my $e = Search::Elasticsearch->new(
        log_to   => 'Stderr',
        trace_to => 'Stderr',
        deprecate_to => 'Stderr'  # default
    );
```

Send logging and deprecations to a file, and tracing to Stderr:

```
    use Search::Elasticsearch;
    my $e = Search::Elasticsearch->new(
        log_to       => ['File', '/path/to/file.log'],
        trace_to     => 'Stderr',
        deprecate_to => ['File', '/path/to/deprecations.log'],
    );
```

See Log::Any::Adapter for more.

## AUTHOR

Enrico Zimuel \<enrico.zimuel@elastic.co\>

## COPYRIGHT AND LICENSE

This software is Copyright (c) 2024 by Elasticsearch BV.

This is free software, licensed under:

```
  The Apache License, Version 2.0, January 2004
```
