fix logging

Change-Id: Ifffa10ba607e364417df75b0dfd9d9e09df2083c
This commit is contained in:
Vincent Llorens 2016-06-01 13:21:32 +02:00 committed by Lisa Zangrando
parent 790ff84f4e
commit ff2db3c748
8 changed files with 62 additions and 138 deletions

@ -28,10 +28,10 @@ synergy.managers =
timer = synergy.examples.timer_manager:TimerManager
synergy.commands =
list = synergy.client.command:LIST
status = synergy.client.command:STATUS
start = synergy.client.command:START
stop = synergy.client.command:STOP
list = synergy.client.command:List
status = synergy.client.command:Status
start = synergy.client.command:Start
stop = synergy.client.command:Stop
[build_sphinx]
source-dir = doc/source

@ -18,42 +18,6 @@ either express or implied.
See the License for the specific language governing
permissions and limitations under the License."""
"""
class BaseCommand(object):
def __init__(self, name):
self.name = name
self.parameters = {}
self.results = {}
def getName(self):
return self.name
def getParameters(self):
return self.parameters
def addParameter(self, name, value):
self.parameters[name] = value
def getParameter(self, name):
return self.parameters.get(name, None)
def getResults(self):
return self.results
def addResult(self, name, value):
self.results[name] = value
def getResult(self, name):
return self.getResults().get(name, None)
def setResults(self, data):
self.results = data
class HTTPCommand(BaseCommand):
"""
class HTTPCommand(object):
@ -63,9 +27,6 @@ class HTTPCommand(object):
def getName(self):
return self.name
# def __init__(self, name):
# super(HTTPCommand, self).__init__(name)
def configureParser(self, subparser):
raise NotImplementedError("not implemented!")
@ -81,23 +42,23 @@ class HTTPCommand(object):
request.raise_for_status()
self.results = request.json()
# self.setResults(request.json())
return request
def getResults(self):
return self.results
class LIST(HTTPCommand):
class List(HTTPCommand):
def __init__(self):
super(LIST, self).__init__("list")
super(List, self).__init__("list")
def configureParser(self, subparser):
subparser.add_parser("list", add_help=True, help="list the managers")
def sendRequest(self, synergy_url, args=None):
super(LIST, self).sendRequest(synergy_url + "/synergy/list")
super(List, self).sendRequest(synergy_url + "/synergy/list")
def log(self):
results = self.getResults()
@ -117,10 +78,10 @@ class LIST(HTTPCommand):
print(msg)
class START(HTTPCommand):
class Start(HTTPCommand):
def __init__(self):
super(START, self).__init__("start")
super(Start, self).__init__("start")
def configureParser(self, subparser):
parser = subparser.add_parser("start",
@ -130,7 +91,7 @@ class START(HTTPCommand):
parser.add_argument("manager", help="the manager to be started")
def sendRequest(self, synergy_url, args):
super(START, self).sendRequest(synergy_url + "/synergy/start",
super(Start, self).sendRequest(synergy_url + "/synergy/start",
{"manager": args.manager})
def log(self):
@ -164,10 +125,10 @@ class START(HTTPCommand):
print(msg)
class STOP(HTTPCommand):
class Stop(HTTPCommand):
def __init__(self):
super(STOP, self).__init__("stop")
super(Stop, self).__init__("stop")
def configureParser(self, subparser):
parser = subparser.add_parser("stop",
@ -177,7 +138,7 @@ class STOP(HTTPCommand):
parser.add_argument("manager", help="the manager to be stopped")
def sendRequest(self, synergy_url, args):
super(STOP, self).sendRequest(synergy_url + "/synergy/stop",
super(Stop, self).sendRequest(synergy_url + "/synergy/stop",
{"manager": args.manager})
def log(self):
@ -209,10 +170,10 @@ class STOP(HTTPCommand):
print(msg)
class STATUS(HTTPCommand):
class Status(HTTPCommand):
def __init__(self):
super(STATUS, self).__init__("status")
super(Status, self).__init__("status")
def configureParser(self, subparser):
parser = subparser.add_parser("status",
@ -222,7 +183,7 @@ class STATUS(HTTPCommand):
parser.add_argument("manager", nargs='*', help="the managers list")
def sendRequest(self, synergy_url, args):
super(STATUS, self).sendRequest(synergy_url + "/synergy/status",
super(Status, self).sendRequest(synergy_url + "/synergy/status",
{"manager": args.manager})
def log(self):
@ -244,15 +205,15 @@ class STATUS(HTTPCommand):
print(msg)
class EXECUTE(HTTPCommand):
class Execute(HTTPCommand):
def __init__(self, name):
super(EXECUTE, self).__init__(name)
super(Execute, self).__init__(name)
def sendRequest(self, synergy_url, manager, command, args=None):
payload = {"manager": manager,
"command": command,
"args": args}
super(EXECUTE, self).sendRequest(synergy_url + "/synergy/execute",
super(Execute, self).sendRequest(synergy_url + "/synergy/execute",
payload)

@ -1,3 +1,7 @@
import logging
import logging.handlers
import os
try:
from oslo_config import cfg
except ImportError:
@ -55,7 +59,7 @@ wsgi_opts = [
]
logger_opts = [
cfg.StrOpt("filename", default="/var/log/synergy/synergy.log",
cfg.StrOpt("filename", default="/tmp/synergy.log",
required=True),
cfg.StrOpt("level", default="INFO", required=False),
cfg.IntOpt("maxBytes", default=1048576),
@ -81,3 +85,36 @@ def parse_args(args=None, usage=None, default_config_files=None):
version="1.0",
usage=usage,
default_config_files=default_config_files)
# create a logging format
formatter = logging.Formatter(CONF.Logger.formatter)
log_dir = os.path.dirname(CONF.Logger.filename)
if not os.path.exists(log_dir):
os.makedirs(log_dir)
# Add the log message handler to the logger
handler = logging.handlers.RotatingFileHandler(
CONF.Logger.filename,
maxBytes=CONF.Logger.maxBytes,
backupCount=CONF.Logger.backupCount)
handler.setFormatter(formatter)
# set root logger
root_logger = logging.getLogger("synergy")
if cfg.CONF.Logger.level == "DEBUG":
root_logger.setLevel(logging.DEBUG)
elif cfg.CONF.Logger.level == "INFO":
root_logger.setLevel(logging.INFO)
elif cfg.CONF.Logger.level == "WARNING":
root_logger.setLevel(logging.WARNING)
elif cfg.CONF.Logger.level == "ERROR":
root_logger.setLevel(logging.ERROR)
elif cfg.CONF.Logger.level == "CRITICAL":
root_logger.setLevel(logging.CRITICAL)
else:
root_logger.setLevel(logging.INFO)
root_logger.addHandler(handler)

@ -1,73 +0,0 @@
import logging
import logging.handlers
import os
try:
from oslo_config import cfg
except ImportError:
from oslo.config import cfg
__author__ = "Lisa Zangrando"
__email__ = "lisa.zangrando[AT]pd.infn.it"
__copyright__ = """Copyright (c) 2015 INFN - INDIGO-DataCloud
All Rights Reserved
Licensed under the Apache License, Version 2.0;
you may not use this file except in compliance with the
License. You may obtain a copy of the License at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied.
See the License for the specific language governing
permissions and limitations under the License."""
CONF = cfg.CONF
loggers = {}
def getLogger(name="unknown"):
global loggers
if loggers.get(name):
return loggers.get(name)
else:
logger = logging.getLogger(name)
if CONF.Logger.level == "DEBUG":
logger.setLevel(logging.DEBUG)
elif CONF.Logger.level == "INFO":
logger.setLevel(logging.INFO)
elif CONF.Logger.level == "WARNING":
logger.setLevel(logging.WARNING)
elif CONF.Logger.level == "ERROR":
logger.setLevel(logging.ERROR)
elif CONF.Logger.level == "CRITICAL":
logger.setLevel(logging.CRITICAL)
else:
logger.setLevel(logging.INFO)
# create a logging format
formatter = logging.Formatter(CONF.Logger.formatter)
log_dir = os.path.dirname(CONF.Logger.filename)
if not os.path.exists(log_dir):
os.makedirs(log_dir)
# Add the log message handler to the logger
handler = logging.handlers.RotatingFileHandler(
CONF.Logger.filename,
maxBytes=CONF.Logger.maxBytes,
backupCount=CONF.Logger.backupCount)
handler.setFormatter(formatter)
logger.addHandler(handler)
loggers[name] = logger
return logger

@ -1,3 +1,4 @@
import logging
import os
import signal
import sys
@ -7,8 +8,6 @@ try:
except ImportError:
from oslo.config import cfg
from synergy.common import log as logging
__author__ = "Lisa Zangrando"
__email__ = "lisa.zangrando[AT]pd.infn.it"

@ -1,5 +1,6 @@
import errno
import eventlet
import logging
import os
import re
import socket
@ -9,7 +10,6 @@ import time
from eventlet import greenio as eventlet_greenio
from eventlet import wsgi as eventlet_wsgi
from synergy.common import log as logging
from sys import exc_info
from traceback import format_tb

@ -1,6 +1,6 @@
import logging
import time
from synergy.common import log as logging
from synergy.common.manager import Manager
__author__ = "Lisa Zangrando"

@ -1,5 +1,6 @@
import eventlet
import json
import logging
import sys
from cgi import escape
@ -12,7 +13,6 @@ except ImportError:
from oslo.config import cfg
from synergy.common import config
from synergy.common import log as logging
from synergy.common import serializer
from synergy.common import service
from synergy.common import wsgi