diff options
author | Oleg Levitsky <levabd@gmail.com> | 2016-02-27 18:44:40 +0600 |
---|---|---|
committer | Oleg Levitsky <levabd@gmail.com> | 2016-02-27 18:44:40 +0600 |
commit | 500962734e2dfbd69fabaa90ed70df0cd8431da2 (patch) | |
tree | b8b68cad4f2d031b1a70cdfb435442aa338ca0d7 /GitAutoDeploy.py | |
parent | 5122ba34bcde069c79d6ca55331bfc451dab81bc (diff) | |
download | Git-Auto-Deploy-500962734e2dfbd69fabaa90ed70df0cd8431da2.zip Git-Auto-Deploy-500962734e2dfbd69fabaa90ed70df0cd8431da2.tar.gz Git-Auto-Deploy-500962734e2dfbd69fabaa90ed70df0cd8431da2.tar.bz2 |
add get_base_config method to log initial events
Diffstat (limited to 'GitAutoDeploy.py')
-rwxr-xr-x | GitAutoDeploy.py | 55 |
1 files changed, 34 insertions, 21 deletions
diff --git a/GitAutoDeploy.py b/GitAutoDeploy.py index 0786a89..521bdf8 100755 --- a/GitAutoDeploy.py +++ b/GitAutoDeploy.py @@ -1,10 +1,15 @@ #!/usr/bin/env python import logging + # Initialize loging logFormatter = logging.Formatter("%(asctime)s [%(threadName)-12.12s] [%(levelname)-5.5s] %(message)s") logger = logging.getLogger() +consoleHandler = logging.StreamHandler() +consoleHandler.setFormatter(logFormatter) +logger.addHandler(consoleHandler) + class Lock(): """Simple implementation of a mutex lock using the file systems. Works on *nix systems.""" @@ -274,6 +279,7 @@ class GitAutoDeploy(object): _instance = None _server = None _config = None + _base_config = None def __new__(cls, *args, **kwargs): """Overload constructor to enable Singleton access""" @@ -425,14 +431,11 @@ class GitAutoDeploy(object): return './GitAutoDeploy.conf.json' - def get_config(self): + def get_base_config(self): import json - import sys - import os - import re - if self._config: - return self._config + if self._base_config: + return self._base_config if not self.config_path: self.config_path = self.get_default_config_path() @@ -445,12 +448,23 @@ class GitAutoDeploy(object): raise e try: - self._config = json.loads(config_string) + self._base_config = json.loads(config_string) except Exception as e: logger.error("%s file is not valid JSON\n" % self.config_path) raise e + return self._base_config + + def get_config(self): + import os + import re + + if self._config: + return self._config + + self._config = self.get_base_config() + # Translate any ~ in the path into /home/<user> if 'pidfilepath' in self._config: self._config['pidfilepath'] = os.path.expanduser(self._config['pidfilepath']) @@ -618,6 +632,17 @@ class GitAutoDeploy(object): import socket import os + # Initialize base config + self.get_base_config() + + # All logs are recording + logger.setLevel(logging.NOTSET) + + # Translate any ~ in the path into /home/<user> + fileHandler = logging.FileHandler(os.path.expanduser(self.get_base_config()["logfilepath"])) + fileHandler.setFormatter(logFormatter) + logger.addHandler(fileHandler) + if '-d' in argv or '--daemon-mode' in argv: self.daemon = True @@ -635,21 +660,9 @@ class GitAutoDeploy(object): self.config_path = os.path.realpath(argv[argv.index('--config') + 1]) logger.info('Using custom configuration file \'%s\'' % self.config_path) - # Initialize config + # Initialize base config self.get_config() - # All logs are recording - logger.setLevel(logging.NOTSET) - - # Translate any ~ in the path into /home/<user> - fileHandler = logging.FileHandler(os.path.expanduser(self.get_config()["logfilepath"])) - fileHandler.setFormatter(logFormatter) - logger.addHandler(fileHandler) - - consoleHandler = logging.StreamHandler() - consoleHandler.setFormatter(logFormatter) - logger.addHandler(consoleHandler) - if self.daemon: logger.info('Starting Git Auto Deploy in daemon mode') GitAutoDeploy.create_daemon() @@ -671,7 +684,7 @@ class GitAutoDeploy(object): try: self._server = HTTPServer((self.get_config()['host'], self.get_config()['port']), WebhookRequestHandler) sa = self._server.socket.getsockname() - logger.info("Listening on", sa[0], "port", sa[1]) + logger.info("Listening on %s port %s", sa[0], sa[1]) self._server.serve_forever() except socket.error, e: |