Merge "Fix: make logging honor logrotate, fix getLogger"
This commit is contained in:
commit
93d0924fe4
31
timmy/cli.py
31
timmy/cli.py
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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']:
|
||||||
|
@ -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:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user