dwww Home | Manual pages | Find package

NDC(3pm)              User Contributed Perl Documentation             NDC(3pm)

NAME
       Log::Log4perl::NDC - Nested Diagnostic Context

DESCRIPTION
       Log::Log4perl allows loggers to maintain global thread-specific data,
       called the Nested Diagnostic Context (NDC).

       At some point, the application might decide to push a piece of data
       onto the NDC stack, which other parts of the application might want to
       reuse. For example, at the beginning of a web request in a server, the
       application might decide to push the IP address of the client onto the
       stack to provide it for other loggers down the road without having to
       pass the data from function to function.

       The Log::Log4perl::Layout::PatternLayout class even provides the handy
       %x placeholder which is replaced by the blank-separated list of
       elements currently on the stack.

       This module maintains a simple stack which you can push data on to,
       query what's on top, pop it off again or delete the entire stack.

       Its purpose is to provide a thread-specific context which all
       Log::Log4perl loggers can refer to without the application having to
       pass around the context data between its functions.

       Since in 5.8.0 perl's threads don't share data only upon request,
       global data is by definition thread-specific.

       Log::Log4perl::NDC->push($text);
           Push an item onto the stack. If the stack grows beyond the defined
           limit ($Log::Log4perl::NDC::MAX_SIZE), just the topmost element
           will be replated.

           This is typically done when a context is entered.

       Log::Log4perl::NDC->pop();
           Discard the upmost element of the stack. This is typically done
           when a context is left.

       my $text = Log::Log4perl::NDC->get();
           Retrieve the content of the stack as a string of blank-separated
           values without disrupting the stack structure. Typically done by
           %x.  If the stack is empty the value "[undef]" is being returned.

       Log::Log4perl::NDC->remove();
           Reset the stack, remove all items.

       Please note that all of the methods above are class methods, there's no
       instances of this class.

LICENSE
       Copyright 2002-2013 by Mike Schilli <m@perlmeister.com> and Kevin Goess
       <cpan@goess.org>.

       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

AUTHOR
       Please contribute patches to the project on Github:

           http://github.com/mschilli/log4perl

       Send bug reports or requests for enhancements to the authors via our

       MAILING LIST (questions, bug reports, suggestions/patches):
       log4perl-devel@lists.sourceforge.net

       Authors (please contact them via the list above, not directly): Mike
       Schilli <m@perlmeister.com>, Kevin Goess <cpan@goess.org>

       Contributors (in alphabetical order): Ateeq Altaf, Cory Bennett, Jens
       Berthold, Jeremy Bopp, Hutton Davidson, Chris R. Donnelly, Matisse
       Enzer, Hugh Esco, Anthony Foiani, James FitzGibbon, Carl Franks, Dennis
       Gregorovic, Andy Grundman, Paul Harrington, Alexander Hartmaier  David
       Hull, Robert Jacobson, Jason Kohles, Jeff Macdonald, Markus Peter,
       Brett Rann, Peter Rabbitson, Erik Selberg, Aaron Straup Cope, Lars
       Thegler, David Viner, Mac Yang.

perl v5.36.0                      2022-10-30                          NDC(3pm)

Generated by dwww version 1.15 on Mon Jul 1 01:43:00 CEST 2024.