X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FWatchdog.pm;h=9001b1b32d395b241118a6d4bc81c4b289121ec1;hb=1c0845108811070224404f367b0e7bee1d5bbe9e;hp=69ec53ce0d33b21304e9d129deaab52ca46de139;hpb=e51c502876f0ae620a7f6b570da9b88298ca4e83;p=kivitendo-erp.git diff --git a/SL/Watchdog.pm b/SL/Watchdog.pm index 69ec53ce0..9001b1b32 100644 --- a/SL/Watchdog.pm +++ b/SL/Watchdog.pm @@ -44,4 +44,27 @@ sub STORE { $this->{$key} = $value; } +sub DELETE { + my ($this, $key) = @_; + + if ($watched_variables{$key} && ($this->{$key} ne "")) { + my $subroutine = (caller 1)[3]; + my ($self_filename, $self_line) = (caller)[1, 2]; + $main::lxdebug->_write("WATCH", + "Value of '$key' changed from '$this->{$key}' to '' " + . "in ${subroutine} at ${self_filename}:${self_line}"); + if ($watched_variables{$key} > 1) { + my $level = 1; + my ($dummy, $filename, $line); + + while (($dummy, $filename, $line, $subroutine) = caller $level) { + $main::lxdebug->_write("WATCH", " ${subroutine} from ${filename}:${line}"); + $level++; + } + } + } + + delete $this->{$key}; +} + 1;