Fix: make logging honor logrotate, fix getLogger

Change-Id: I185470e1ad2b63ca40e30087748dbfa77046a85d
This commit is contained in:
Dmitry Sutyagin 2016-10-18 14:23:49 -07:00
parent d2786d8aae
commit 2e442f3ea2
4 changed files with 36 additions and 29 deletions

View File

@ -15,14 +15,15 @@
# License for the specific language governing permissions and limitations
# 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.env import project_name, version
from timmy.nodes import Node, NodeManager
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={}):
@ -202,13 +203,17 @@ def main(argv=None):
args.verbose = 0
loglevel = loglevels[min(len(loglevels)-1, args.verbose)]
# always enable debug log if log file specificed
loglevel = logging.DEBUG if args.log_file else loglevel
FORMAT = ('%(asctime)s %(levelname)s: %(module)s: '
'%(funcName)s(): %(message)s')
logging.basicConfig(filename=args.log_file,
level=loglevel,
format=FORMAT)
logger = logging.getLogger(__name__)
if args.log_file:
loglevel = logging.DEBUG
log_handler = logging.handlers.WatchedFileHandler(args.log_file)
else:
log_handler = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s %(levelname)s: %(module)s: '
'%(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)
if args.fuel_ip:
conf['fuel_ip'] = args.fuel_ip

View File

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

View File

@ -19,17 +19,18 @@
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 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:
import fuelclient
@ -73,7 +74,7 @@ class Node(object):
def __init__(self, ip, conf, id=None, name=None, fqdn=None, mac=None,
cluster=None, roles=None, os_platform=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.mac = mac
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):
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']:
timestamp_str = datetime.now().strftime('_%F_%H-%M-%S')
if conf['outputs_timestamp']:

View File

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