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
import argparse
import logging
class Options(object):
@@ -28,7 +29,7 @@ class Options(object):
help='do not run in daemon mode'
)
self.parser.add_argument(
'-d', '--debug', dest='nodaemon', action='store_true',
'-d', '--debug', dest='debug', action='store_true',
help='Log debugging output'
)
self.parser.add_argument(
@@ -47,5 +48,29 @@ class Options(object):
)
def run(self):
args = self.parser.parse_args()
return vars(args)
return self.parser.parse_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.faults import BadRequest
from libra.common.options import Options
from libra.common.options import Options, setup_logging
from libra.common.logger import Logger
@@ -104,32 +104,12 @@ def main():
options = Options('worker', 'Worker Daemon')
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'
)
args = options.run()
# Setup logging
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
)
logger = setup_logging('libra_worker', args)
server = Server(logger, ['localhost:4730'], args.reconnect_sleep)
if args.nodaemon: