]> mj.ucw.cz Git - home-hw.git/commitdiff
burrow-auto: Logging
authorMartin Mares <mj@ucw.cz>
Tue, 30 May 2023 19:24:29 +0000 (21:24 +0200)
committerMartin Mares <mj@ucw.cz>
Tue, 30 May 2023 19:24:29 +0000 (21:24 +0200)
auto/burrow-auto

index 36b2461ab63c91827f00202bd5d562a0b442cd57..8e1a338629d2e76c2ca38bdd7454e400281d4c1c 100755 (executable)
@@ -2,16 +2,35 @@
 
 from collections import deque
 import getopt
+import os
 import paho.mqtt.client as mqtt
 import sys
 import time
 
 debug_mode = False
+log_name = '/run/burrow-auto'
+log_file = None
 indent = 0
 
 def debug(msg):
     if debug_mode:
         print(("\t" * indent) + msg, file=sys.stderr)
+    elif log_file is not None:
+        print(("\t" * indent) + msg, file=log_file)
+
+def debug_open():
+    if not debug_mode:
+        global log_file
+        log_file = open(log_name + '.new', 'w')
+
+def debug_close():
+    if debug_mode:
+        debug("=" * 80)
+    else:
+        global log_file
+        log_file.close()
+        log_file = None
+        os.rename(log_name + '.new', log_name)
 
 def diff(x, y):
     if x is None or y is None:
@@ -284,6 +303,7 @@ checks = [
 ]
 
 while True:
+    debug_open()
     st.update()
 
     debug("averages")
@@ -303,5 +323,6 @@ while True:
             indent -= 1
         else:
             debug("{} DISABLED".format(name))
-    debug("=" * 80)
+
+    debug_close()
     time.sleep(10)