$cwd =~ s{/[^/]+$}{};
chdir $cwd;
- open(my $log, '>', 'log.'.strftime("%Y-%m-%dT%H:%M:%S",localtime()));
+ my $log_dir = 'log';
+ mkdir $log_dir unless -d $log_dir;
+
+ open(my $log, '>', "$log_dir/".strftime("%Y-%m-%dT%H:%M:%S",localtime()));
select($log);
$|=1;
}
$msg = read_message($socket, $buf);
if ($msg) {
my $t = time();
+ my ($date,$time) = split(/ /,strftime("%Y-%m-%d %H:%M:%S", localtime($t)));
print "\n",strftime("%Y-%m-%d %H:%M:%S ", localtime($t)) if $msg->message_type != MQTT_PINGRESP;
if ($msg->message_type == MQTT_PUBLISH) {
if ($verbose == 0) {
my $function_code = unpack('C',substr($msg->message,2,1));
- write_file "$queue/$dir/$t.$up_down.$function_code", $msg->message;
+ mkdir "$queue/$dir/$date" if ! -d "$queue/$dir/$date";
+ write_file "$queue/$dir/$date/$time.$t.$up_down.$function_code", $msg->message;
if ( substr($msg->message,2,1) eq "\x07" ) { # heartbeat
$topic =~ s/up$/down/;