eliminate some false laziness in FS::Misc::send_email vs. msg_template/email.pm send_...
[freeside.git] / FS / FS / Trace.pm
1 package FS::Trace;
2
3 use strict;
4 use Date::Format;
5 use File::Slurp;
6
7 my @trace = ();
8
9 sub log {
10   my( $class, $msg ) = @_;
11   push @trace, [ time, "[$$][". time2str('%r', time). "] $msg" ];
12 }
13
14 sub total {
15   $trace[-1]->[0] - $trace[0]->[0];
16 }
17
18 sub reset {
19   @trace = ();
20 }
21
22 sub dump_ary {
23   map $_->[1], @trace;
24 }
25
26 sub dump {
27   join("\n", map $_->[1], @trace). "\n";
28 }
29
30 sub dumpfile {
31   my( $class, $filename, $header ) = @_;
32   write_file( $filename, "$header\n". $class->dump );
33 }
34
35 1;