|
1 | 1 | # SPDX-FileCopyrightText: 2018 Dave Astels for Adafruit Industries |
2 | 2 | # |
3 | 3 | # SPDX-License-Identifier: MIT |
4 | | - |
5 | | -""" |
6 | | -UART based message handler for CircuitPython logging. |
7 | | -
|
8 | | -Adafruit invests time and resources providing this open source code. |
9 | | -Please support Adafruit and open source hardware by purchasing |
10 | | -products from Adafruit! |
11 | | -
|
12 | | -Written by Dave Astels for Adafruit Industries |
13 | | -Copyright (c) 2018 Adafruit Industries |
14 | | -Licensed under the MIT license. |
15 | | -
|
16 | | -All text above must be included in any redistribution. |
17 | | -""" |
18 | | - |
19 | | - |
20 | | -# Example: |
21 | | -# |
22 | | -# import board |
23 | | -# import busio |
24 | | -# from uart_handler import UartHandler |
25 | | -# import adafruit_logging as logging |
26 | | -# |
27 | | -# uart = busio.UART(board.TX, board.RX, baudrate=115200) |
28 | | -# logger = logging.getLogger('uart') |
29 | | -# logger.addHandler(UartHandler(uart)) |
30 | | -# logger.level = logging.INFO |
31 | | -# logger.info('testing') |
32 | | - |
33 | | -from adafruit_logging import Handler |
34 | | - |
35 | | -class UartHandler(Handler): |
36 | | - """Send logging output to a serial port.""" |
37 | | - |
38 | | - def __init__(self, uart): |
39 | | - """Create an instance. |
40 | | -
|
41 | | - :param uart: the busio.UART instance to which to write messages |
42 | | - """ |
43 | | - self._uart = uart |
44 | | - |
45 | | - def format(self, record): |
46 | | - """Generate a string to log. |
47 | | -
|
48 | | - :param record: The record (message object) to be logged |
49 | | - """ |
50 | | - return super().format(record) + '\r\n' |
51 | | - |
52 | | - def emit(self, record): |
53 | | - """Generate the message and write it to the UART. |
54 | | -
|
55 | | - :param record: The record (message object) to be logged |
56 | | - """ |
57 | | - self._uart.write(bytes(self.format(record), 'utf-8')) |
| 4 | +import board |
| 5 | +import busio |
| 6 | +from uart_handler import UartHandler |
| 7 | +import adafruit_logging as logging |
| 8 | + |
| 9 | +uart = busio.UART(board.TX, board.RX, baudrate=115200) |
| 10 | +logger = logging.getLogger("test") |
| 11 | +logger.addHandler(UartHandler(uart)) |
| 12 | +logger.setLevel(logging.INFO) |
| 13 | +logger.info("testing") |
0 commit comments