Net::XMPP::Debug - XMPP Debug Module
Net::XMPP::Debug is a module that provides a developer easy access to logging
debug information.
Debug is a helper module for the Net::XMPP modules. It provides the Net::XMPP
modules with an object to control where, how, and what is logged.
$Debug = Net::XMPP::Debug->new();
$Debug->Init(
level => 2,
file => "stdout",
header =>"MyScript");
$Debug->Log0("Connection established");
- new
-
new(hash)
creates the Debug object. The hash argument is passed to the
Init function. See that function description below for the valid
settings.
- Init
-
Init(
level => integer,
file => string,
header => string,
setdefault => 0|1,
usedefault => 0|1,
time => 0|1)
initializes the debug object.
The level determines the maximum level of debug
messages to log:
0 - Base level Output (default)
1 - High level API calls
2 - Low level API calls
...
N - Whatever you want....
The file determines where the debug log goes. You can
either specify a path to a file, or "stdout" (the default).
"stdout" tells Debug to send all of the debug info sent to
this object to go to stdout.
header is a string that will preappended to the
beginning of all log entries. This makes it easier to see what generated
the log entry (default is "Debug").
setdefault saves the current filehandle and makes it
available for other Debug objects to use. To use the default set
usedefault to 1.
The time parameter specifies whether or not to add a
timestamp to the beginning of each logged line.
- LogN
-
LogN(array)
Logs the elements of the array at the corresponding debug
level N. If you pass in a reference to an array or hash then they are
printed in a readable way. (ie... Log0, Log2, Log100, etc...)
$Debug = Net::XMPP:Debug->new(level=>2,
header=>"Example");
$Debug->Log0("test");
$Debug->Log2("level 2 test");
$hash{a} = "atest";
$hash{b} = "btest";
$Debug->Log1("hashtest", \%hash);
You would get the following log:
Example: test
Example: level 2 test
Example: hashtest { a=>"atest" b=>"btest" }
If you had set the level to 1 instead of 2 you would get:
Example: test
Example: hashtest { a=>"atest" b=>"btest" }
Originally authored by Ryan Eatmon.
Previously maintained by Eric Hacker.
Currently maintained by Darian Anthony Patrick.
This module is free software, you can redistribute it and/or modify it under the
LGPL 2.1.