|
@@ -23,6 +23,8 @@ class Demeter(object):
|
|
|
web = ''
|
|
|
request = False
|
|
|
route = []
|
|
|
+ logger = False
|
|
|
+ dog = False
|
|
|
|
|
|
def __new__(self, *args, **kwargs):
|
|
|
sys.exit()
|
|
@@ -414,17 +416,16 @@ class Demeter(object):
|
|
|
return redis.Redis(connection_pool=pool)
|
|
|
|
|
|
class Log(object):
|
|
|
- logger = False
|
|
|
- @classmethod
|
|
|
- def init(self, name):
|
|
|
- if self.logger:
|
|
|
- return self.logger
|
|
|
+ @staticmethod
|
|
|
+ def init(name):
|
|
|
+ if Demeter.logger:
|
|
|
+ return Demeter.logger
|
|
|
import logging
|
|
|
from logging.handlers import RotatingFileHandler
|
|
|
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
|
|
|
|
|
- self.logger = logging.getLogger(name)
|
|
|
- self.logger.setLevel(logging.INFO)
|
|
|
+ Demeter.logger = logging.getLogger(name)
|
|
|
+ Demeter.logger.setLevel(logging.INFO)
|
|
|
|
|
|
path = File.path() + 'runtime/log/'
|
|
|
File.mkdir(path)
|
|
@@ -432,26 +433,26 @@ class Log(object):
|
|
|
file_handler = RotatingFileHandler(os.path.join(path, 'vecan.log'), maxBytes=1024*1024,backupCount=5)
|
|
|
file_handler.setLevel(level=logging.DEBUG)
|
|
|
file_handler.setFormatter(formatter)
|
|
|
- self.logger.addHandler(file_handler)
|
|
|
+ Demeter.logger.addHandler(file_handler)
|
|
|
|
|
|
- return self.logger
|
|
|
+ return Demeter.logger
|
|
|
|
|
|
class WatchDog(object):
|
|
|
- observer = False
|
|
|
- @classmethod
|
|
|
- def init(self, path = [], reloads = [], recursive = False):
|
|
|
- if self.observer:
|
|
|
- return self.observer
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def init(path = [], reloads = [], recursive = False):
|
|
|
+ if Demeter.dog:
|
|
|
+ return Demeter.dog
|
|
|
event_handler = WatchDogHandle(reloads)
|
|
|
- self.observer = Observer()
|
|
|
+ Demeter.dog = Observer()
|
|
|
base = File.path()
|
|
|
if not path:
|
|
|
path = ['conf/',]
|
|
|
for item in path:
|
|
|
- self.observer.schedule(event_handler, base + item, recursive=recursive)
|
|
|
- self.observer.start()
|
|
|
+ Demeter.dog.schedule(event_handler, base + item, recursive=recursive)
|
|
|
+ Demeter.dog.start()
|
|
|
|
|
|
- return self.observer
|
|
|
+ return Demeter.dog
|
|
|
|
|
|
class WatchDogHandle(FileSystemEventHandler):
|
|
|
|