Merge "Fix: make logging honor logrotate, fix getLogger"

This commit is contained in:
Jenkins 2016-11-04 18:07:07 +00:00 committed by Gerrit Code Review
commit 93d0924fe4
4 changed files with 36 additions and 29 deletions

View File

@ -15,14 +15,15 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import argparse
from timmy.nodes import Node, NodeManager
import logging
import sys
import os
from timmy.conf import load_conf from timmy.conf import load_conf
from timmy.env import project_name, version
from timmy.nodes import Node, NodeManager
from timmy.tools import interrupt_wrapper from timmy.tools import interrupt_wrapper
from timmy.env import version import argparse
import logging
import logging.handlers
import os
import sys
def pretty_run(quiet, msg, f, args=[], kwargs={}): def pretty_run(quiet, msg, f, args=[], kwargs={}):
@ -202,13 +203,17 @@ def main(argv=None):
args.verbose = 0 args.verbose = 0
loglevel = loglevels[min(len(loglevels)-1, args.verbose)] loglevel = loglevels[min(len(loglevels)-1, args.verbose)]
# always enable debug log if log file specificed # always enable debug log if log file specificed
loglevel = logging.DEBUG if args.log_file else loglevel if args.log_file:
FORMAT = ('%(asctime)s %(levelname)s: %(module)s: ' loglevel = logging.DEBUG
'%(funcName)s(): %(message)s') log_handler = logging.handlers.WatchedFileHandler(args.log_file)
logging.basicConfig(filename=args.log_file, else:
level=loglevel, log_handler = logging.StreamHandler()
format=FORMAT) formatter = logging.Formatter('%(asctime)s %(levelname)s: %(module)s: '
logger = logging.getLogger(__name__) '%(funcName)s(): %(message)s')
log_handler.setFormatter(formatter)
logger = logging.getLogger(project_name)
logger.addHandler(log_handler)
logger.setLevel(loglevel)
conf = load_conf(args.config) conf = load_conf(args.config)
if args.fuel_ip: if args.fuel_ip:
conf['fuel_ip'] = args.fuel_ip conf['fuel_ip'] = args.fuel_ip

View File

@ -16,7 +16,7 @@
# under the License. # under the License.
project_name = 'timmy' project_name = 'timmy'
version = '1.20.4' version = '1.20.5'
if __name__ == '__main__': if __name__ == '__main__':
import sys import sys

View File

@ -19,17 +19,18 @@
main module main module
""" """
import json
import os
import shutil
import logging
import sys
import re
from datetime import datetime, date, timedelta
import urllib2
import tools
from tools import w_list, run_with_lock
from copy import deepcopy from copy import deepcopy
from datetime import datetime, date, timedelta
from timmy.env import project_name
from tools import w_list, run_with_lock
import json
import logging
import os
import re
import shutil
import sys
import tools
import urllib2
try: try:
import fuelclient import fuelclient
@ -73,7 +74,7 @@ class Node(object):
def __init__(self, ip, conf, id=None, name=None, fqdn=None, mac=None, def __init__(self, ip, conf, id=None, name=None, fqdn=None, mac=None,
cluster=None, roles=None, os_platform=None, cluster=None, roles=None, os_platform=None,
online=True, status="ready", logger=None): online=True, status="ready", logger=None):
self.logger = logger or logging.getLogger(__name__) self.logger = logger or logging.getLogger(project_name)
self.id = int(id) if id is not None else None self.id = int(id) if id is not None else None
self.mac = mac self.mac = mac
self.cluster = int(cluster) if cluster is not None else None self.cluster = int(cluster) if cluster is not None else None
@ -528,7 +529,7 @@ class NodeManager(object):
def __init__(self, conf, extended=False, nodes_json=None, logger=None): def __init__(self, conf, extended=False, nodes_json=None, logger=None):
self.conf = conf self.conf = conf
self.logger = logger or logging.getLogger(__name__) self.logger = logger or logging.getLogger(project_name)
if conf['outputs_timestamp'] or conf['dir_timestamp']: if conf['outputs_timestamp'] or conf['dir_timestamp']:
timestamp_str = datetime.now().strftime('_%F_%H-%M-%S') timestamp_str = datetime.now().strftime('_%F_%H-%M-%S')
if conf['outputs_timestamp']: if conf['outputs_timestamp']:

View File

@ -23,6 +23,7 @@ from flock import FLock
from multiprocessing import Process, Queue, BoundedSemaphore from multiprocessing import Process, Queue, BoundedSemaphore
from pipes import quote from pipes import quote
from tempfile import gettempdir from tempfile import gettempdir
from timmy.env import project_name
import json import json
import logging import logging
import os import os
@ -33,7 +34,7 @@ import threading
import traceback import traceback
import yaml import yaml
logger = logging.getLogger(__name__) logger = logging.getLogger(project_name)
slowpipe = ''' slowpipe = '''
import sys import sys
import time import time
@ -85,13 +86,13 @@ class RunItem():
self.key = key self.key = key
self.process = None self.process = None
self.queue = None self.queue = None
self.logger = logger or logging.getLogger(__name__) self.logger = logger or logging.getLogger(project_name)
class SemaphoreProcess(Process): class SemaphoreProcess(Process):
def __init__(self, semaphore, target, args=None, queue=None, logger=None): def __init__(self, semaphore, target, args=None, queue=None, logger=None):
Process.__init__(self) Process.__init__(self)
self.logger = logger or logging.getLogger(__name__) self.logger = logger or logging.getLogger(project_name)
self.semaphore = semaphore self.semaphore = semaphore
self.target = target self.target = target
if not args: if not args: