DebugLog#

NAME#

Kernel::System::GenericInterface::DebugLog - log interface for generic interface

DESCRIPTION#

All log functions.

PUBLIC INTERFACE#

new()#

create a debug log object. Do not use it directly, instead use:

my $DebugLogObject = $Kernel::OM->Get('Kernel::System::GenericInterface::DebugLog');

LogAdd()#

add a communication bit to database if we don’t already have a communication chain, create it

returns 1 on success or undef on error

my $Success = $DebugLogObject->LogAdd(
    CommunicationID   => '6f1ed002ab5595859014ebf0951522d9',
    CommunicationType => 'Provider',        # 'Provider' or 'Requester'
    Data              => 'additional data', # optional
    DebugLevel        => 'info',            # 'debug', 'info', 'notice', 'error'
    RemoteIP          => '192.168.0.1',     # optional, must be valid IPv4 or IPv6 address
    Summary           => 'description of log entry',
    WebserviceID      => 1,
);

LogGet()#

get communication chain data

my $LogData = $DebugLogObject->LogGet(
    CommunicationID => '6f1ed002ab5595859014ebf0951522d9',
);

$LogData = {
    CommunicationID   => '6f1ed002ab5595859014ebf0951522d9',
    CommunicationType => 'Provider',
    Created           => '2011-02-15 16:47:28',
    LogID             => 1,
    RemoteIP          => '192.168.0.1', # optional
    WebserviceID      => 1,
};

LogGetWithData()#

get all individual entries for a communication chain

my $LogData = $DebugLogObject->LogGetWithData(
    CommunicationID => '6f1ed002ab5595859014ebf0951522d9',
);

$LogData = {
    CommunicationID   => '6f1ed002ab5595859014ebf0951522d9',
    CommunicationType => 'Provider',
    Created           => '2011-02-15 16:47:28',
    LogID             => 1,
    RemoteIP          => '192.168.0.1', # optional
    WebserviceID      => 1,
    Data              => [
        {
            Created    => '2011-02-15 17:00:06',
            Data       => 'some logging specific data or structure', # optional
            DebugLevel => 'info',
            Summary    => 'a log bit',
        },
        # ...
    ],
};

LogDelete()#

delete a complete communication chain

returns 1 if successful or undef otherwise

my $Success = $DebugLogObject->LogDelete(
    NoErrorIfEmpty  => 1,                                  # optional
    CommunicationID => '6f1ed002ab5595859014ebf0951522d9', # optional
    WebserviceID    => 1,                                  # optional
                                                           # exactly one id parameter required
);

LogSearch()#

search for log chains based on several criteria when the parameter ‘WithData’ is set, the complete communication chains will be returned

my $LogData = $DebugLogObject->LogSearch(
    CommunicationID   => '6f1ed002ab5595859014ebf0951522d9', # optional
    CommunicationType => 'Provider',     # optional, 'Provider' or 'Requester'
    CreatedAtOrAfter  => '2011-01-01 00:00:00', # optional
    CreatedAtOrBefore => '2011-12-31 23:59:59', # optional
    Limit             => 1000, # optional, default 100
    RemoteIP          => '192.168.0.1', # optional, must be valid IPv4 or IPv6 address
    WebserviceID      => 1, # optional
    WithData          => 0, # optional
    Sort              => 'ASC', # optional. 'ASC' (default) or 'DESC'
);

$LogData = [
    {
        CommunicationID   => '6f1ed002ab5595859014ebf0951522d9',
        CommunicationType => 'Provider',
        Created           => '2011-02-15 16:47:28',
        LogID             => 1,
        RemoteIP          => '192.168.0.1', # optional
        WebserviceID      => 1,
        Data              => [ # only when 'WithData' is set
            {
                Created    => '2011-02-15 17:00:06',
                Data       => 'some logging specific data or structure', # optional
                DebugLevel => 'info',
                Summary    => 'a log bit',
            },
            # ...
        ],
    },
    # ...
];

LogCleanup()#

removes all log entries (including content) from a given time and before.

returns 1 if successful or undef otherwise

my $Success = $DebugLogObject->LogCleanup(
    CreatedAtOrBefore => '2011-12-31 23:59:59',
);

_LogAddChain()#

establish communication chain in database

returns 1 on success or undef on error

my $Success = $DebugLogObject->_LogAddChain(
    CommunicationID   => '6f1ed002ab5595859014ebf0951522d9',
    CommunicationType => 'Provider',     # 'Provider' or 'Requester'
    RemoteIP          => '192.168.0.1', # optional, must be valid IPv4 or IPv6 address
    WebserviceID      => 1,
);