Skip to content

Commit 08c5876

Browse files
authored
Merge pull request #16 from rbdubz3/master
optional logging - level and custom handler
2 parents 953e77d + 7597a24 commit 08c5876

1 file changed

Lines changed: 17 additions & 3 deletions

File tree

lightify/__init__.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -891,7 +891,7 @@ def __str__(self):
891891
class Lightify:
892892
""" main osram lightify class
893893
"""
894-
def __init__(self, host, new_device_types=None):
894+
def __init__(self, host, new_device_types=None, log_level=logging.INFO, loghandler=None):
895895
"""
896896
:param host: lightify gateway host
897897
:param new_device_types: dict of additional device types to merge with
@@ -918,13 +918,19 @@ def __init__(self, host, new_device_types=None):
918918
}
919919
}
920920
}}
921+
:param log_level: logging.loglevel Enum
922+
:param loghandler: logging.Handler object
921923
"""
922924
self.__device_types = DEVICE_TYPES.copy()
923925
self.__device_types.update(new_device_types or {})
924926

925927
self.__logger = logging.getLogger(MODULE)
926-
self.__logger.addHandler(logging.NullHandler())
927-
self.__logger.info('Logging %s', MODULE)
928+
self.__logger.setLevel(log_level)
929+
if loghandler:
930+
self.__logger.addHandler(loghandler)
931+
else:
932+
self.__logger.addHandler(logging.NullHandler())
933+
self.__logger.info('Initializing %s, version=%s', MODULE, __version__)
928934

929935
# a sequence number used to number commands sent to the gateway
930936
self.__seq = 0
@@ -968,6 +974,14 @@ def _next_seq(self):
968974
self.__seq = (self.__seq + 1) % 256
969975
return self.__seq
970976

977+
def set_loglevel(self, log_level):
978+
""" set the log level
979+
980+
:param log_level: logging.loglevel Enum
981+
"""
982+
self.__logger.setLevel(log_level)
983+
self.__logger.info("set log level to '%s'", logging.getLevelName(log_level))
984+
971985
def set_lights_updated(self):
972986
""" update lights updated timestamp
973987

0 commit comments

Comments
 (0)