use Carp;
use strict;
-
use vars qw($log);
$log = new('log', 'dat', 'm');
my $ref = {};
$ref->{prefix} = "$main::data/$prefix";
$ref->{suffix} = $suffix if $suffix;
- $ref->{sort} = $sort;
+ $ref->{'sort'} = $sort;
# make sure the directory exists
mkdir($ref->{prefix}, 0777) if ! -e $ref->{prefix};
delete $self->{mode};
}
- $self->{fn} = sprintf "$self->{prefix}/$year/%03d", $thing;
+ $self->{fn} = sprintf "$self->{prefix}/$year/%02d", $thing if $self->{'sort'} eq 'm';
+ $self->{fn} = sprintf "$self->{prefix}/$year/%03d", $thing if $self->{'sort'} eq 'd';
$self->{fn} .= ".$self->{suffix}" if $self->{suffix};
$mode = 'r' if !$mode;
sub openprev
{
my $self = shift;
- if ($self->{sort} eq 'm') {
+ if ($self->{'sort'} eq 'm') {
($self->{year}, $self->{thing}) = Julian::subm($self->{year}, $self->{thing}, 1);
- } elsif ($self->{sort} eq 'd') {
+ } elsif ($self->{'sort'} eq 'd') {
($self->{year}, $self->{thing}) = Julian::sub($self->{year}, $self->{thing}, 1);
}
return $self->open($self->{year}, $self->{thing}, @_);
sub opennext
{
my $self = shift;
- if ($self->{sort} eq 'm') {
+ if ($self->{'sort'} eq 'm') {
($self->{year}, $self->{thing}) = Julian::addm($self->{year}, $self->{thing}, 1);
- } elsif ($self->{sort} eq 'd') {
+ } elsif ($self->{'sort'} eq 'd') {
($self->{year}, $self->{thing}) = Julian::add($self->{year}, $self->{thing}, 1);
}
return $self->open($self->{year}, $self->{thing}, @_);
{
my $self = shift;
- if ($self->{sort} eq 'm') {
+ if ($self->{'sort'} eq 'm') {
return Julian::unixtojm(shift);
- } elsif ($self->{sort} eq 'd') {
+ } elsif ($self->{'sort'} eq 'd') {
return Julian::unixtoj(shift);
}
confess "shouldn't get here";
sub writenow
{
my ($self, $line) = @_;
- my @date = $self->unixtoj(time);
+ my $t = time;
+ my @date = $self->unixtoj($t);
return $self->write(@date, $line);
}
# The user is responsible for making sense of this!
sub Log
{
- $log->writeunix($main::systime, join('^', $main::systime, @_) );
+ my $t = time;
+ $log->writeunix($t, join('^', $t, @_) );
}
-sub DESTROY # catch undefs and do what is required further do the tree
+sub DESTROY # catch undefs and do what is required further down the tree
{
my $self = shift;
DXDebug::dbg("dxlog", "closing $self->{fn}\n");