blob: 86d155d79e1ab40c5eb57d23533e33acdf66070d [file] [log] [blame]
Matt Harte7bddc02015-07-08 18:05:08 +01001import logging
2import json
3from logging.handlers import WatchedFileHandler
4
5
6def getDaemonLogger(filePath, log_format=None, loglevel=logging.INFO):
7 logger = logging.getLogger()
8 logger.setLevel(loglevel)
9 try:
10 watchedHandler = WatchedFileHandler(filePath)
11 except Exception as e:
12 return e
13
14 watchedHandler.setFormatter(logging.Formatter(log_format or '%(asctime)s %(msg)s'))
15 logger.addHandler(watchedHandler)
16 return logger, watchedHandler
17
18
19def readSettings(filename):
20 """
21 Read settings from config file, to listen to all hosts, hostname should be 0.0.0.0
22 """
23 #settings = {}
24 print("Reading settings from %s" % filename)
25 with open(filename) as stream:
26 jobdata = stream.read()
27 json_data = json.loads(jobdata)
28 return json_data
29
30def drivername_from_hostname(hostname, pdus):
31 if hostname in pdus:
32 drivername = (pdus[hostname]["driver"])
33 else:
34 raise NotImplementedError("No configuration available for hostname %s\n"
35 "Is there a section in the lavapdu.conf?" % hostname)
36 return drivername