… | |
… | |
488 | |
488 | |
489 | =cut |
489 | =cut |
490 | |
490 | |
491 | sub reset { |
491 | sub reset { |
492 | # hard to kill complex data structures |
492 | # hard to kill complex data structures |
493 | # we recreate all package loggers and reset the hierarchy |
493 | # we "recreate" all package loggers and reset the hierarchy |
494 | while (my ($k, $v) = each %CTX) { |
494 | while (my ($k, $v) = each %CTX) { |
495 | @$v = ($k, (1 << 10) - 1 - 1, { }); |
495 | @$v = ($k, (1 << 10) - 1 - 1, { }); |
496 | |
496 | |
497 | $v->attach ($k =~ /^(.+)::/ ? $CTX{$1} : $AnyEvent::Log); |
497 | $v->attach ($k =~ /^(.+)::/ ? $CTX{$1} : $AnyEvent::Log::COLLECT); |
498 | } |
498 | } |
|
|
499 | |
|
|
500 | @$_ = ($_->[0], (1 << 10) - 1 - 1) |
|
|
501 | for $LOG, $FILTER, $COLLECT; |
499 | |
502 | |
500 | $LOG->slaves; |
503 | $LOG->slaves; |
501 | $LOG->title ('$AnyEvent::Log::LOG'); |
504 | $LOG->title ('$AnyEvent::Log::LOG'); |
502 | $LOG->log_cb (sub { |
505 | $LOG->log_cb (sub { |
503 | warn shift; |
506 | warn shift; |
… | |
… | |
507 | $FILTER->slaves ($LOG); |
510 | $FILTER->slaves ($LOG); |
508 | $FILTER->title ('$AnyEvent::Log::FILTER'); |
511 | $FILTER->title ('$AnyEvent::Log::FILTER'); |
509 | $FILTER->level ($AnyEvent::VERBOSE); |
512 | $FILTER->level ($AnyEvent::VERBOSE); |
510 | |
513 | |
511 | $COLLECT->slaves ($FILTER); |
514 | $COLLECT->slaves ($FILTER); |
512 | $COLLECT->title ('$AnyEvent::Log::FILTER'); |
515 | $COLLECT->title ('$AnyEvent::Log::COLLECT'); |
513 | |
516 | |
514 | _reassess; |
517 | _reassess; |
515 | } |
518 | } |
516 | |
519 | |
517 | # create the default logger contexts |
520 | # create the default logger contexts |