--- /dev/null
+package WarnLogger;
+
+use POSIX qw(strftime);
+sub new { bless {}, __PACKAGE__ }
+sub debug {
+ my @caller = caller(1);
+ my $time = strftime "%y-%m-%d %H:%M:%S", localtime;
+ warn "[$time][$caller[0]][$caller[1]][$caller[2]][$_[1]]\n"
+}
+sub is_debug { 1 }
+
+1;
--- /dev/null
+use strict;
+use warnings;
+
+use lib 't/lib';
+use WarnLogger;
+use Log::Contextual;
+use Test::More qw(no_plan);
+
+my $logger = WarnLogger->new;
+
+set_logger { $logger };
+log_debug { 'set_logger' };
+log_debug { 'simple log 1' };
+log_debug { 'simple log 2' };
+sleep 1;
+log_debug { 'simple log 3' };
+