Different logging setup.

This commit is contained in:
David Shrewsbury
2012-09-14 13:13:36 -04:00
parent 9a17c0af8c
commit c648e1f3db
2 changed files with 31 additions and 26 deletions

View File

@@ -12,6 +12,7 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
import argparse import argparse
import logging
class Options(object): class Options(object):
@@ -28,7 +29,7 @@ class Options(object):
help='do not run in daemon mode' help='do not run in daemon mode'
) )
self.parser.add_argument( self.parser.add_argument(
'-d', '--debug', dest='nodaemon', action='store_true', '-d', '--debug', dest='debug', action='store_true',
help='Log debugging output' help='Log debugging output'
) )
self.parser.add_argument( self.parser.add_argument(
@@ -47,5 +48,29 @@ class Options(object):
) )
def run(self): def run(self):
args = self.parser.parse_args() return self.parser.parse_args()
return vars(args)
def setup_logging(name, args):
"""
Shared routine for setting up logging. Depends on some common options
(nodaemon, logfile, debug, verbose) being set.
"""
logfile = args.logfile
if args.nodaemon:
logfile = None
logging.basicConfig(
format='%(asctime)-6s: %(name)s - %(levelname)s - %(message)s',
filename=logfile
)
logger = logging.getLogger(name)
if args.debug:
logger.setLevel(level=logging.DEBUG)
elif args.verbose:
logger.setLevel(level=logging.INFO)
return logger

View File

@@ -22,7 +22,7 @@ from time import sleep
from libra.common.json_gearman import JSONGearmanWorker from libra.common.json_gearman import JSONGearmanWorker
from libra.common.faults import BadRequest from libra.common.faults import BadRequest
from libra.common.options import Options from libra.common.options import Options, setup_logging
from libra.common.logger import Logger from libra.common.logger import Logger
@@ -104,32 +104,12 @@ def main():
options = Options('worker', 'Worker Daemon') options = Options('worker', 'Worker Daemon')
options.parser.add_argument( options.parser.add_argument(
'-s', dest='reconnect_sleep', type=int, '-s', dest='reconnect_sleep', type=int, metavar="TIME",
default=60, help='seconds to sleep between job server reconnects' default=60, help='seconds to sleep between job server reconnects'
) )
args = options.run() args = options.run()
# Setup logging logger = setup_logging('libra_worker', args)
logging.basicConfig(
format='%(asctime)-6s: %(name)s - %(levelname)s - %(message)s',
level=logging.INFO
)
if args.verbose:
loglevel = 'verbose'
elif args.debug:
loglevel = 'debug'
if args.nodaemon:
logfile = None
else:
logfile = args.logfile
logger = Logger(
logfile,
loglevel
)
server = Server(logger, ['localhost:4730'], args.reconnect_sleep) server = Server(logger, ['localhost:4730'], args.reconnect_sleep)
if args.nodaemon: if args.nodaemon: