Skip to content

Commit 367ef2d

Browse files
authored
Merge pull request #2197 from tekktrik/dev/fix-logging-changes
Dev/fix-logging-changes
2 parents 829104d + e1e1895 commit 367ef2d

File tree

12 files changed

+87
-96
lines changed

12 files changed

+87
-96
lines changed

CircuitPython_Logger/aio_handler/code.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@
2525
# l = logging.getLogger('aio')
2626
# # Pass in the device object based on portal_base
2727
# # (Funhouse, PyPortal, MagTag, etc) as the 2nd parameter
28-
# l.addHandler(AIOHandler('test'), portal_device)
28+
# l.addHandler(AIOHandler('test', portal_device))
2929
# l.level = logging.ERROR
3030
# l.error("test")
3131

32-
from adafruit_logging import LoggingHandler
32+
from adafruit_logging import Handler
3333

34-
class AIOHandler(LoggingHandler):
34+
class AIOHandler(Handler):
3535

3636
def __init__(self, name, portal_device):
3737
"""Create an instance."""
@@ -41,11 +41,9 @@ def __init__(self, name, portal_device):
4141
self._portal_device = portal_device
4242

4343

44-
def emit(self, level, msg):
44+
def emit(self, record):
4545
"""Generate the message and write it to the AIO Feed.
4646
47-
:param level: The level at which to log
48-
:param msg: The core message
49-
47+
:param record: The record (message object) to be logged
5048
"""
51-
self._portal_device.push_to_io(self._log_feed_name, self.format(level, msg))
49+
self._portal_device.push_to_io(self._log_feed_name, self.format(record))

CircuitPython_Logger/aio_test/code.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
device=PyPortal()
1212

1313
l = logging.getLogger('aio')
14-
l.addHandler(AIOHandler('test'), device)
14+
l.addHandler(AIOHandler('test', device))
1515

1616
def go():
1717
while True:

CircuitPython_Logger/ble_handler/code.py

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,39 +17,34 @@
1717
"""
1818

1919

20-
from adafruit_logging import LoggingHandler
20+
from adafruit_logging import Handler
2121
from adafruit_ble.uart import UARTServer
2222

23-
class BLEHandler(LoggingHandler):
23+
class BLEHandler(Handler):
2424
"""Send logging output to the BLE uart port."""
2525

2626
def __init__(self):
2727
"""Create an instance.
2828
2929
:param uart: the busio.UART instance to which to write messages
30-
3130
"""
3231
self._advertising_now = False
3332
self._uart = UARTServer()
3433
self._uart.start_advertising()
3534

36-
def format(self, level, msg):
35+
def format(self, record):
3736
"""Generate a string to log.
3837
39-
:param level: The level at which to log
40-
:param msg: The core message
41-
38+
:param record: The record (message object) to be logged
4239
"""
43-
return super().format(level, msg) + '\r\n'
40+
return super().format(record) + '\r\n'
4441

45-
def emit(self, level, msg):
42+
def emit(self, record):
4643
"""Generate the message and write it to the UART.
4744
48-
:param level: The level at which to log
49-
:param msg: The core message
50-
45+
:param record: The record (message object) to be logged
5146
"""
5247
while not self._uart.connected:
5348
pass
54-
data = bytes(self.format(level, msg), 'utf-8')
49+
data = bytes(self.format(record), 'utf-8')
5550
self._uart.write(data)

CircuitPython_Logger/file_handler/code.py

Lines changed: 0 additions & 58 deletions
This file was deleted.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# SPDX-FileCopyrightText: 2022 Alec Delaney for Adafruit Industries
2+
#
3+
# SPDX-License-Identifier: MIT
4+
5+
import time
6+
import random
7+
import board
8+
import busio
9+
from digitalio import DigitalInOut
10+
import storage
11+
import adafruit_sdcard
12+
import adafruit_logging as logging
13+
14+
# Get chip select pin depending on the board, this one is for the Feather M4 Express
15+
sd_cs = board.D10
16+
17+
# Set up an SD card to write to
18+
spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
19+
cs = DigitalInOut(sd_cs)
20+
sdcard = adafruit_sdcard.SDCard(spi, cs)
21+
vfs = storage.VfsFat(sdcard)
22+
storage.mount(vfs, "/sd")
23+
24+
l = logging.getLogger('file')
25+
l.addHandler(logging.FileHandler('/sd/test.txt'))
26+
27+
def go():
28+
while True:
29+
t = random.randint(1, 5)
30+
if t == 1:
31+
print('debug')
32+
l.debug("debug message: %d", random.randint(0, 1000))
33+
elif t == 2:
34+
print('info')
35+
l.info("info message: %d", random.randint(0, 1000))
36+
elif t == 3:
37+
print('warning')
38+
l.warning("warning message: %d", random.randint(0, 1000))
39+
elif t == 4:
40+
print('error')
41+
l.error("error message: %d", random.randint(0, 1000))
42+
elif t == 5:
43+
print('critical')
44+
l.critical("critical message: %d", random.randint(0, 1000))
45+
time.sleep(5.0 + (random.random() * 5.0))

CircuitPython_Logger/uart_handler/code.py

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,33 +30,28 @@
3030
# logger.level = logging.INFO
3131
# logger.info('testing')
3232

33-
from adafruit_logging import LoggingHandler
33+
from adafruit_logging import Handler
3434

35-
class UartHandler(LoggingHandler):
35+
class UartHandler(Handler):
3636
"""Send logging output to a serial port."""
3737

3838
def __init__(self, uart):
3939
"""Create an instance.
4040
4141
:param uart: the busio.UART instance to which to write messages
42-
4342
"""
4443
self._uart = uart
4544

46-
def format(self, level, msg):
45+
def format(self, record):
4746
"""Generate a string to log.
4847
49-
:param level: The level at which to log
50-
:param msg: The core message
51-
48+
:param record: The record (message object) to be logged
5249
"""
53-
return super().format(level, msg) + '\r\n'
50+
return super().format(record) + '\r\n'
5451

55-
def emit(self, level, msg):
52+
def emit(self, record):
5653
"""Generate the message and write it to the UART.
5754
58-
:param level: The level at which to log
59-
:param msg: The core message
60-
55+
:param record: The record (message object) to be logged
6156
"""
62-
self._uart.write(bytes(self.format(level, msg), 'utf-8'))
57+
self._uart.write(bytes(self.format(record), 'utf-8'))

CircuitPython_PyPaint/code.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,10 @@ class TouchscreenPoller(object):
5959
"""Get 'pressed' and location updates from a touch screen device."""
6060

6161
def __init__(self, splash, cursor_bmp):
62-
logging.getLogger("Paint").debug("Creating a TouchscreenPoller")
62+
logger = logging.getLogger("Paint")
63+
if not logger.hasHandlers():
64+
logger.addHandler(logging.StreamHandler())
65+
logger.debug("Creating a TouchscreenPoller")
6366
self._display_grp = splash
6467
self._touchscreen = adafruit_touchscreen.Touchscreen(
6568
board.TOUCH_XL, board.TOUCH_XR,
@@ -118,14 +121,16 @@ class CursorPoller(object):
118121
"""Get 'pressed' and location updates from a D-Pad/joystick device."""
119122

120123
def __init__(self, splash, cursor_bmp):
121-
logging.getLogger("Paint").debug("Creating a CursorPoller")
124+
self._logger = logging.getLogger("Paint")
125+
if not self._logger.hasHandlers():
126+
self._logger.addHandler(logging.StreamHandler())
127+
self._logger.debug("Creating a CursorPoller")
122128
self._mouse_cursor = Cursor(
123129
board.DISPLAY, display_group=splash, bmp=cursor_bmp, cursor_speed=2
124130
)
125131
self._x_offset = cursor_bmp.width // 2
126132
self._y_offset = cursor_bmp.height // 2
127133
self._cursor = DebouncedCursorManager(self._mouse_cursor)
128-
self._logger = logging.getLogger("Paint")
129134

130135
def poll(self):
131136
"""Check for input. Returns press of A (a bool), B,
@@ -160,6 +165,8 @@ def set_cursor_bitmap(self, bmp):
160165
class Paint(object):
161166
def __init__(self, display=board.DISPLAY):
162167
self._logger = logging.getLogger("Paint")
168+
if not self._logger.hasHandlers():
169+
self._logger.addHandler(logging.StreamHandler())
163170
self._logger.setLevel(logging.DEBUG)
164171
self._display = display
165172
self._w = self._display.width

IoT_Environment_Sensor/aio.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
import rtc
2828

2929
logger = logging.getLogger('main')
30+
if not logger.hasHandlers():
31+
logger.addHandler(logging.StreamHandler())
3032

3133
TIME_SERVICE = "https://io.adafruit.com/api/v2/%s/integrations/time/strftime?x-aio-key=%s"
3234
# our strftime is %Y-%m-%d %H:%M:%S.%L %j %u %z %Z see http://strftime.net/ for decoding details

IoT_Environment_Sensor/air_quality.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
import ustruct as struct
2525

2626
logger = logging.getLogger('main')
27+
if not logger.hasHandlers():
28+
logger.addHandler(logging.StreamHandler())
2729

2830
class AirQualitySensor (object):
2931

IoT_Environment_Sensor/code.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
import adafruit_logging as logging
2727

2828
logger = logging.getLogger('main')
29+
if not logger.hasHandlers():
30+
logger.addHandler(logging.StreamHandler())
2931
logger.setLevel(logging.INFO)
3032

3133
gps_uart = busio.UART(board.TX, board.RX, baudrate=9600, timeout=3.000)

0 commit comments

Comments
 (0)