this works:
- Code: Select all
import logging
class Plugin(indigo.PluginBase):
def __init__(self, pluginId, pluginDisplayName, pluginVersion, pluginPrefs):
....
def startup(self):
indigo.server.log("myLogSet doing logging stuff")
logformatLOG = logging.Formatter('%(msg)s')
self.indigo_log_handler.setFormatter(logformatLOG)
self.indigo_log_handler.setLevel(logging.WARNING)
logformatFile = logging.Formatter( '%(asctime)s.%(msecs)03d\t%(levelname)-12s\t%(name)s.%(funcName)-25s %(msg)s' , datefmt='%H:%M:%S')
self.plugin_file_handler.setFormatter(logformatFile)
self.plugin_file_handler.setLevel(logging.THREADDEBUG)
self.mylogger = logging.getLogger("minMax")
self.mylogger.info("info")
self.mylogger.warning("warning")
self.mylogger.error("error")
indigo.server.log("myLogSet end logging stuff")
this does not work :
- Code: Select all
import indigo
# import logging
class MLX():
def __init__(self):
return
def myLogSet(self, **kwargs ):
for key, value in kwargs.iteritems():
elif key == "pluginSelf" :
self.plugin = value
elif key == "logging":
self.logging = value
indigo.server.log("myLogSet doing logging stuff")
logformatLOG = logging.Formatter('%(msg)s')
self.plugin.indigo_log_handler.setFormatter(logformatLOG)
self.plugin.indigo_log_handler.setLevel(logging.WARNING)
logformatFile = logging.Formatter( '%(asctime)s.%(msecs)03d\t%(levelname)-12s\t%(name)s.%(funcName)-25s %(msg)s' , datefmt='%H:%M:%S')
self.plugin.plugin_file_handler.setFormatter(logformatFile) # w date time ...
self.plugin.plugin_file_handler.setLevel(logging.THREADDEBUG)
self.mylogger = logging.getLogger("minMax")
self.mylogger.info("info")
self.mylogger.warning("warning")
self.mylogger.error("error")
indigo.server.log("myLogSet end logging stuff")
return
and in plugin.py
import myLogPgms.myLogPgms
import logging
class Plugin(indigo.PluginBase):
def __init__(self, pluginId, pluginDisplayName, pluginVersion, pluginPrefs):
....
def startup(self):
self.ML = myLogPgms.myLogPgms.MLX()
self.ML.myLogSet(pluginSelf=self, logging=logging)
the self.mylogger statements do nothing, no output, no error.
Question: how do I use the indigo debug logger in an imported class.
tried all kinds of variations w local logger import, handed down from indigo ...import indigo in imported file ...
have looked at other plugins ..
??
any pointer is welcome.
Karl