@@ -891,7 +891,7 @@ def __str__(self):
891891class 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