improved logging with timestamps (instead of print)
authorCiprian Manea <ciprian.manea@gmail.com>
Mon, 5 Aug 2019 18:17:29 +0000 (21:17 +0300)
committerCiprian Manea <ciprian.manea@gmail.com>
Mon, 5 Aug 2019 18:17:29 +0000 (21:17 +0300)
examples/adc.py
examples/all-in-one-no-pm.py
examples/all-in-one.py
examples/compensated-temperature.py
examples/gas.py
examples/lcd.py
examples/light.py
examples/luftdaten.py
examples/particulates.py
examples/weather.py

index c4cf45cf8f0d598e2fd88ea93f10812b874de737..82bda4150b38a0c5be3c557b9a13bce21a24bf8f 100755 (executable)
@@ -2,8 +2,14 @@
 
 import time
 from enviroplus import gas
+import logging
 
-print("""adc.py - Print readings from the MICS6814 Gas sensor.
+logging.basicConfig(
+    format='%(asctime)s.%(msecs)03d %(levelname)-8s %(message)s',
+    level=logging.INFO,
+    datefmt='%Y-%m-%d %H:%M:%S')
+
+logging.info("""adc.py - Print readings from the MICS6814 Gas sensor.
 
 Press Ctrl+C to exit!
 
@@ -15,7 +21,7 @@ gas.set_adc_gain(4.096)
 try:
     while True:
         readings = gas.read_all()
-        print(readings)
+        logging.info(readings)
         time.sleep(1.0)
 except KeyboardInterrupt:
     pass
index 962f627548fe0c0b62395e3dacb59e8a755de74a..54860126bdc3ee37aa02d367f6f9f83e3755372d 100755 (executable)
@@ -13,8 +13,14 @@ from subprocess import PIPE, Popen
 from PIL import Image
 from PIL import ImageDraw
 from PIL import ImageFont
+import logging
 
-print("""all-in-one.py - Displays readings from all of Enviro plus' sensors
+logging.basicConfig(
+    format='%(asctime)s.%(msecs)03d %(levelname)-8s %(message)s',
+    level=logging.INFO,
+    datefmt='%Y-%m-%d %H:%M:%S')
+
+logging.info("""all-in-one.py - Displays readings from all of Enviro plus' sensors
 Press Ctrl+C to exit!
 """)
 
@@ -58,7 +64,7 @@ def display_text(variable, data, unit):
                - min(values[variable]) + 1) for v in values[variable]]
     # Format the variable name and value
     message = "{}: {:.1f} {}".format(variable[:4], data, unit)
-    print(message)
+    logging.info(message)
     draw.rectangle((0, 0, WIDTH, HEIGHT), (255, 255, 255))
     for i in range(len(colours)):
         # Convert the values to colours from red to blue
index 63439519670181ad5e6467e057aa6556588d7cf8..87840901fd5efd3610d2aecbb943ed6c27432d41 100755 (executable)
@@ -14,8 +14,14 @@ from subprocess import PIPE, Popen
 from PIL import Image
 from PIL import ImageDraw
 from PIL import ImageFont
+import logging
 
-print("""all-in-one.py - Displays readings from all of Enviro plus' sensors
+logging.basicConfig(
+    format='%(asctime)s.%(msecs)03d %(levelname)-8s %(message)s',
+    level=logging.INFO,
+    datefmt='%Y-%m-%d %H:%M:%S')
+
+logging.info("""all-in-one.py - Displays readings from all of Enviro plus' sensors
 
 Press Ctrl+C to exit!
 
@@ -64,7 +70,7 @@ def display_text(variable, data, unit):
                - min(values[variable]) + 1) for v in values[variable]]
     # Format the variable name and value
     message = "{}: {:.1f} {}".format(variable[:4], data, unit)
-    print(message)
+    logging.info(message)
     draw.rectangle((0, 0, WIDTH, HEIGHT), (255, 255, 255))
     for i in range(len(colours)):
         # Convert the values to colours from red to blue
index 2733f56c756d43a2bcc1cf57a6eef085ed9f6117..6a9c115ed05cf3d6229f5ead5178724a1f1967d4 100755 (executable)
@@ -9,7 +9,14 @@ try:
 except ImportError:
     from smbus import SMBus
 
-print("""compensated-temperature.py - Use the CPU temperature
+import logging
+
+logging.basicConfig(
+    format='%(asctime)s.%(msecs)03d %(levelname)-8s %(message)s',
+    level=logging.INFO,
+    datefmt='%Y-%m-%d %H:%M:%S')
+
+logging.info("""compensated-temperature.py - Use the CPU temperature
 to compensate temperature readings from the BME280 sensor.
 Method adapted from Initial State's Enviro pHAT review:
 https://medium.com/@InitialState/tutorial-review-enviro-phat-for-raspberry-pi-4cd6d8c63441
@@ -42,5 +49,5 @@ while True:
     avg_cpu_temp = sum(cpu_temps) / float(len(cpu_temps))
     raw_temp = bme280.get_temperature()
     comp_temp = raw_temp - ((avg_cpu_temp - raw_temp) / factor)
-    print("Compensated temperature: {:05.2f} *C".format(comp_temp))
+    logging.info("Compensated temperature: {:05.2f} *C".format(comp_temp))
     time.sleep(1.0)
index faf6eac84611944ec9b908cefeb7b47e1e31518d..2f849442b8bf61a253a1083dd2ef561f73ba70c7 100755 (executable)
@@ -2,8 +2,14 @@
 
 import time
 from enviroplus import gas
+import logging
 
-print("""gas.py - Print readings from the MICS6814 Gas sensor.
+logging.basicConfig(
+    format='%(asctime)s.%(msecs)03d %(levelname)-8s %(message)s',
+    level=logging.INFO,
+    datefmt='%Y-%m-%d %H:%M:%S')
+
+logging.info("""gas.py - Print readings from the MICS6814 Gas sensor.
 
 Press Ctrl+C to exit!
 
@@ -12,7 +18,7 @@ Press Ctrl+C to exit!
 try:
     while True:
         readings = gas.read_all()
-        print(readings)
+        logging.info(readings)
         time.sleep(1.0)
 except KeyboardInterrupt:
     pass
index aa0e193604388cdd3ec8ac2de8b286b2bef639fc..7e50c94eb68c5a2f6788c5c0d9810100860a683e 100755 (executable)
@@ -2,8 +2,14 @@
 
 import ST7735
 from PIL import Image, ImageDraw, ImageFont
+import logging
 
-print("""lcd.py - Hello, World! example on the 0.96" LCD.
+logging.basicConfig(
+    format='%(asctime)s.%(msecs)03d %(levelname)-8s %(message)s',
+    level=logging.INFO,
+    datefmt='%Y-%m-%d %H:%M:%S')
+
+logging.info("""lcd.py - Hello, World! example on the 0.96" LCD.
 
 Press Ctrl+C to exit!
 
index 216477a766db19768e9d92683f7984bc664f3fac..3442fb489d0ac677636255458a2029a9c5511ad7 100755 (executable)
@@ -2,8 +2,14 @@
 
 import time
 import ltr559
+import logging
 
-print("""light.py - Print readings from the LTR559 Light & Proximity sensor.
+logging.basicConfig(
+    format='%(asctime)s.%(msecs)03d %(levelname)-8s %(message)s',
+    level=logging.INFO,
+    datefmt='%Y-%m-%d %H:%M:%S')
+
+logging.info("""light.py - Print readings from the LTR559 Light & Proximity sensor.
 
 Press Ctrl+C to exit!
 
@@ -13,7 +19,7 @@ try:
     while True:
         lux = ltr559.get_lux()
         prox = ltr559.get_proximity()
-        print("""Light: {:05.02f} Lux
+        logging.info("""Light: {:05.02f} Lux
 Proximity: {:05.02f}
 """.format(lux, prox))
         time.sleep(1.0)
index c5b03873356bbdca7a808ab0f29729e6f4b88501..dd6e967708664f4e3be22233904f576f2ea3c240 100755 (executable)
@@ -12,7 +12,14 @@ try:
 except ImportError:
     from smbus import SMBus
 
-print("""luftdaten.py - Reads temperature, pressure, humidity,
+import logging
+
+logging.basicConfig(
+    format='%(asctime)s.%(msecs)03d %(levelname)-8s %(message)s',
+    level=logging.INFO,
+    datefmt='%Y-%m-%d %H:%M:%S')
+
+logging.info("""luftdaten.py - Reads temperature, pressure, humidity,
 PM2.5, and PM10 from Enviro plus and sends data to Luftdaten,
 the citizen science air quality project.
 
@@ -162,16 +169,16 @@ font_size = 16
 font = ImageFont.truetype("fonts/Asap/Asap-Bold.ttf", font_size)
 
 # Display Raspberry Pi serial and Wi-Fi status
-print("Raspberry Pi serial: {}".format(get_serial_number()))
-print("Wi-Fi: {}\n".format("connected" if check_wifi() else "disconnected"))
+logging.info("Raspberry Pi serial: {}".format(get_serial_number()))
+logging.info("Wi-Fi: {}\n".format("connected" if check_wifi() else "disconnected"))
 
 # Main loop to read data, display, and send to Luftdaten
 while True:
     try:
         values = read_values()
-        print(values)
+        logging.info(values)
         resp = send_to_luftdaten(values, id)
-        print("Response: {}\n".format("ok" if resp else "failed"))
+        logging.info("Response: {}\n".format("ok" if resp else "failed"))
         display_status()
     except Exception as e:
-        print(e)
+        logging.info(e)
index e71ca5d96f78782f5237134e1dffd3df51dfcf7e..9aa9c37814a0bc3f6d34bf03f1df52d58fa3408f 100755 (executable)
@@ -2,8 +2,14 @@
 
 import time
 from pms5003 import PMS5003, ReadTimeoutError
+import logging
 
-print("""particulates.py - Print readings from the PMS5003 particulate sensor.
+logging.basicConfig(
+    format='%(asctime)s.%(msecs)03d %(levelname)-8s %(message)s',
+    level=logging.INFO,
+    datefmt='%Y-%m-%d %H:%M:%S')
+
+logging.info("""particulates.py - Print readings from the PMS5003 particulate sensor.
 
 Press Ctrl+C to exit!
 
@@ -16,7 +22,7 @@ try:
     while True:
         try:
             readings = pms5003.read()
-            print(readings)
+            logging.info(readings)
             time.sleep(1.0)
         except ReadTimeoutError:
             pms5003 = PMS5003()
index 17aba2041ac13d819ff23f3f431cf6b8f395702f..503602104ced2a691e2b70eff06d51b54c7f7a37 100755 (executable)
@@ -8,7 +8,14 @@ try:
 except ImportError:
     from smbus import SMBus
 
-print("""weather.py - Print readings from the BME280 weather sensor.
+import logging
+
+logging.basicConfig(
+    format='%(asctime)s.%(msecs)03d %(levelname)-8s %(message)s',
+    level=logging.INFO,
+    datefmt='%Y-%m-%d %H:%M:%S')
+
+logging.info("""weather.py - Print readings from the BME280 weather sensor.
 
 Press Ctrl+C to exit!
 
@@ -21,7 +28,7 @@ while True:
     temperature = bme280.get_temperature()
     pressure = bme280.get_pressure()
     humidity = bme280.get_humidity()
-    print("""Temperature: {:05.2f} *C
+    logging.info("""Temperature: {:05.2f} *C
 Pressure: {:05.2f} hPa
 Relative humidity: {:05.2f} %
 """.format(temperature, pressure, humidity))