Skip to content

Commit 6367012

Browse files
committed
Make more like CPython's logger
1 parent 3d4a850 commit 6367012

File tree

5 files changed

+26
-23
lines changed

5 files changed

+26
-23
lines changed

README.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ Usage Example
3131

3232
.. code-block:: python
3333
34-
from adafruit_logger import Logger, ERROR, INFO
34+
import logging
3535
36-
logger = Logger()
36+
logger = getLogger('test')
3737
38-
logger.level = ERROR
39-
logger.log(INFO, 'Info message')
40-
logger.log(ERROR, 'Error message')
38+
logger.setLevel(logging.ERROR)
39+
logger.info('Info message')
40+
logger.error('Error message')
4141
4242
4343
Contributing

docs/api.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
.. If your library file(s) are nested in a directory (e.g. /adafruit_foo/foo.py)
55
.. use this format as the module name: "adafruit_foo.foo"
66
7-
.. automodule:: adafruit_logger
7+
.. automodule:: logging
88
:members:

examples/logger_simpletest.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#pylint:disable=undefined-variable,wildcard-import,no-name-in-module
2-
from adafruit_logger import Logger, ERROR, INFO
2+
import logging
33

4-
logger = Logger()
4+
logger = logging.getLogger('test')
55

6-
logger.level = ERROR
7-
logger.log(INFO, 'Info message')
8-
logger.log(ERROR, 'Error message')
6+
logger.setLevel(logging.ERROR)
7+
logger.info('Info message')
8+
logger.error('Error message')

adafruit_logger.py renamed to logging.py

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
2121
# THE SOFTWARE.
2222
"""
23-
`adafruit_logger`
23+
`logging`
2424
================================================================================
2525
2626
Logging module for CircuitPython
@@ -65,7 +65,9 @@ def level_for(value):
6565
6666
"""
6767
for i in range(len(LEVELS)):
68-
if value < LEVELS[i][0]:
68+
if value == LEVELS[i][0]:
69+
return LEVELS[i][1]
70+
elif value < LEVELS[i][0]:
6971
return LEVELS[i-1][1]
7072
return LEVELS[0][1]
7173

@@ -108,6 +110,13 @@ def emit(self, level, msg):
108110
# The level module-global variables get created when loaded
109111
#pylint:disable=undefined-variable
110112

113+
logger_cache = dict()
114+
115+
def getLogger(name):
116+
if name not in logger_cache:
117+
logger_cache[name] = Logger()
118+
return logger_cache[name]
119+
111120
class Logger(object):
112121
"""Provide a logging api."""
113122

@@ -123,13 +132,7 @@ def __init__(self, handler=None):
123132
else:
124133
self._handler = handler
125134

126-
@property
127-
def level(self):
128-
"""The level."""
129-
return self._level
130-
131-
@level.setter
132-
def level(self, value):
135+
def setLevel(self, value):
133136
self._level = value
134137

135138
def log(self, level, format_string, *args):
@@ -140,8 +143,8 @@ def log(self, level, format_string, *args):
140143
:param args: arguments to ``format_string.format()``, can be empty
141144
142145
"""
143-
if self._level != NOTSET and level >= self._level:
144-
self._handler.emit(level, format_string.format(*args))
146+
if level >= self._level:
147+
self._handler.emit(level, format_string % args)
145148

146149
def debug(self, format_string, *args):
147150
"""Log a debug message.

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,5 @@
5959
# simple. Or you can use find_packages().
6060
# TODO: IF LIBRARY FILES ARE A PACKAGE FOLDER,
6161
# CHANGE `py_modules=['...']` TO `packages=['...']`
62-
py_modules=['adafruit_logger'],
62+
py_modules=['logging'],
6363
)

0 commit comments

Comments
 (0)