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.751 second using v1.01-cache-2.11-cpan-454fe037f31 )