# File: SQLiteLoggerLayer
# Author: pragma_
#
# Purpose: PerlIO::via layer to log DBI trace messages

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

package PBot::SQLiteLoggerLayer;

use strict;
use warnings;

use feature 'unicode_strings';

sub PUSHED {
    my ($class, $mode, $fh) = @_;
    my $logger;
    return bless \$logger, $class;
}

sub OPEN {
    my ($self, $path, $mode, $fh) = @_;

    # $path is our logger object
    $$self = $path;
    return 1;
}

sub WRITE {
    my ($self, $buf, $fh) = @_;
    $$self->log($buf);
    return length($buf);
}

sub CLOSE {
    my $self = shift;
    $$self->close();
    return 0;
}

1;