X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=zc-mqtt;h=5a6cd86204a79a9f38b375e3ade3634161f191aa;hb=23b719f022c0094200a85b0c526ae49bc0780f12;hp=365dc94d1c25823378db1f09aaef74211de36c4c;hpb=07c8962520f2fa1e913567f8cb647dc0636fa230;p=zc diff --git a/zc-mqtt b/zc-mqtt index 365dc94..5a6cd86 100755 --- a/zc-mqtt +++ b/zc-mqtt @@ -25,7 +25,10 @@ BEGIN { $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; } @@ -105,6 +108,7 @@ while (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) { @@ -125,7 +129,8 @@ while (1) { 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/;