+ # check if all the logs exceed size.
+ my $logdir = "$bot_base_dir/log/";
+ if (opendir(LOGS, $logdir)) {
+ my $tsize = 0;
+ my (%age, %size);
+
+ while (defined($_ = readdir LOGS)) {
+ my $logfile = "$logdir/$_";
+
+ next unless ( -f $logfile);
+ my $size = -s $logfile;
+ my $age = (stat $logfile)[9]; ### or 8 ?
+
+ $age{$age} = $logfile;
+ $size{$logfile} = $size;
+
+ $tsize += $size;
+ }
+ closedir LOGS;
+
+ my $delete = 0;
+ while ($tsize > $param{'maxLogSize'}) {
+ &status("LOG: current size > max ($tsize > $param{'maxLogSize'})");
+ my $oldest = (sort {$a <=> $b} keys %age)[0];
+ &status("LOG: unlinking $age{$oldest}.");
+ ### NOT YET.
+ # unlink $age{$oldest};
+ $tsize -= $oldest;
+ $delete++;
+ }
+
+ ### TODO: add how many b,kb,mb removed?
+ if ($delete) {
+ &status("LOG: removed $delete logs.");
+ }
+ } else {
+ &WARN("could not open dir $logdir");
+ }
+