Lufs
view release on metacpan or search on metacpan
lib/Lufs/Glue.pm view on Meta::CPAN
return unless $trace;
my (@arg) = @_;
my $ret = pop(@arg);
if ($method eq 'create') {
$arg[1] = $self->mode($arg[1]);
}
if ($method eq 'stat' or $method eq 'setattr') {
$arg[1] = $self->hashdump($arg[1]);
}
if ($method eq 'write' or $method eq 'read') {
$arg[3] = $self->_truncdata($arg[3]);
}
if ($method eq '_init') {
$arg[0] = $self->hashdump($arg[0]);
}
if ($method eq 'GET' or $method eq 'HEAD') {
$ret = pop(@arg).' '.pop(@arg).' '.$self->hashdump($ret);
}
if ($method eq 'readdir') {
$arg[-1] = '['.join(', ', @{$arg[-1]}).']';
}
$arg[0] = "'$arg[0]'";
print STDERR '['.Linux::Pid::getpid()."] $method (".join(', ', @arg).") = $ret\n";
}
sub _truncdata {
my $self = shift;
my $data = shift;
no warnings;
my $s = $data;
$s=~s{\n}{\\n}g;
$s=~s{([^ -~])}{sprintf"0x%02x",ord($1)}ge;
my $pad = (length($s)>32) ? '...' : '';
$s="'".substr($s, 0, 32)."$pad'";
}
( run in 0.284 second using v1.01-cache-2.11-cpan-454fe037f31 )