Skip to content

Capture adapter, for redirecting messages to a callback/arrayref#77

Merged
preaction merged 1 commit intopreaction:masterfrom
nrdvana:capture_adapter
Sep 14, 2019
Merged

Capture adapter, for redirecting messages to a callback/arrayref#77
preaction merged 1 commit intopreaction:masterfrom
nrdvana:capture_adapter

Conversation

@nrdvana
Copy link
Contributor

@nrdvana nrdvana commented Aug 7, 2019

This adapter is much like the 'Test' adapter, but is intended
for end users. It can log to an arrayref or a coderef, and
has several convenient options that allow capturing the entire
structured form of a message, or just the text. It supports a
log_level filter as well.

I've been using a simpler version of this in my projects for a
long time, specifically for the cases where a web request runs
and calls out to a module which uses Log::Any but then I want
the client to see the log messages rather than have them go to
the webserver log file.

This adapter is much like the 'Test' adapter, but is intended
for end users.  It can log to an arrayref or a coderef, and
has several convenient options that allow capturing the entire
structured form of a message, or just the text.  It supports a
log_level filter as well.
@preaction preaction merged commit 6727ee8 into preaction:master Sep 14, 2019
@preaction
Copy link
Owner

Wow, that's really nice. I can see this being incredibly useful for testing as well: It's much less magical than the Test adapter. I might end up replacing the Test adapter with this one :) Thanks!

preaction added a commit that referenced this pull request Jan 13, 2020
    [Added]

    - Added 'Capture' adapter for capturing log messages in an array or
      running an arbitrary callback. This makes it easier to test log
      messages, collect messages from a certain scope for later display.
      Thanks @nrdvana! [Github #77]

    - Added Log::Any::Adapter 'get' class method to get an adapter for
      a category. This allows bypassing the Proxy and using the Adapter
      directly. Doing so breaks all the features enabled by a Proxy, and
      so should only be used in special circumstances (definitely not in
      CPAN modules). Thanks @nrdvana! [Github #78]

    - Added 'Multiplex' adapter for directing log output to one or more
      Log::Any adapters. This allows, for example, basic logging to
      Stderr and logging to a remote Syslogd or Elastic. Thanks
      @jrubinator and @GrantStreetGroup for contributing this!
      [Github #79, Github #16]
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

Successfully merging this pull request may close these issues.

2 participants