---
name: "Log::Agent::Tag::Callback"
section: "3pm"
platform: "linux"
package: "liblog-agent-perl"
version: "1.005-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Log::Agent::Tag::Callback"
---

# Log::Agent::Tag::Callback(3pm)

a dynamic tag string

## NAME

Log::Agent::Tag::Callback - a dynamic tag string

## SYNOPSIS

```
 require Log::Agent::Tag::Callback;
 # Inherits from Log::Agent::Tag.
 my $tag = Log::Agent::Tag::Callback->make(
     -name      => "session id",
     -callback  => Callback->new($obj, 'method', @args),
     -postfix   => 1,
     -separator => " -- ",
 );
```

## DESCRIPTION

This class represents a dynamic tag string, whose value is determined by invoking a pre-determined callback, which is described by a `"Callback"` object.

You need to make your application depend on the `"Callback"` module from CPAN if you make use of this tagging feature, since `"Log::Agent"` does not depend on it, on purpose (it does not really use it, it only offers an interface to plug it in).  At least version 1.02 must be used.

## CREATION ROUTINE PARAMETERS

The following parameters are defined, in alphabetical order:

- "-callback" =\> "Callback" *object*

  The callback to invoke to determine the value of the tag.  The call is protected via a *busy* flag, in case there is an unwanted recursion due to a call to one of the logging routines whilst within the callback.

  If the callback is busy, the tag emitted is:

  ```
      callback "user" busy
  ```

  assuming `"user"` is the name you supplied via `"-name"` for this tag.

- "-name" =\> *name*

  The name of this tag.  Used to flag a callback as *busy* in case there is an unwanted recursion into the callback routine.

- "-postfix" =\> *flag*

  Whether tag should be placed after or before the log message. By default, it is prepended to the log message, i.e. this parameter is false.

- "-separator" =\> *string*

  The separation string between the tag and the log message. A single space by default.

## AUTHOR

Raphael Manfredi *\<Raphael\_Manfredi@pobox.com\>*

## SEE ALSO

[**Callback**(3)](/Callback/3.md), **Log::Agent::Tag**(3), **Log::Agent::Message**(3).
