Dima Kuznetsov has uploaded a new change for review.
Change subject: vdsm-tool: Add logging and verbosity flags
......................................................................
vdsm-tool: Add logging and verbosity flags
Added -l/--logfile, -v/--verbose flags to vdsm-tool to control the log.
Change-Id: Ia495743f6e869f65843404e4d4c25c146ff14b43
Signed-off-by: Dima Kuznetsov <dkuznets(a)redhat.com>
---
M vdsm-tool/vdsm-tool
1 file changed, 49 insertions(+), 1 deletion(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/81/27481/1
diff --git a/vdsm-tool/vdsm-tool b/vdsm-tool/vdsm-tool
index 57968f3..f7c3194 100755
--- a/vdsm-tool/vdsm-tool
+++ b/vdsm-tool/vdsm-tool
@@ -22,6 +22,7 @@
import sys
import imp
import getopt
+import logging
import textwrap
import syslog
import traceback
@@ -129,6 +130,14 @@
print "Valid options:"
print " -h, --help"
+ print "\t\tShow this help menu."
+ print " -l, --logfile <path>"
+ print "\t\tRedirect logging to file."
+ print " -v, --verbose"
+ print "\t\tProvide verbose logs."
+ print " -a, --append"
+ print "\t\tAppend to logfile instead of truncating it",
+ print "(if logging to a file)."
for mod_name, mod_desc in tool_modules:
_usage_module(mod_name, mod_desc)
@@ -137,14 +146,53 @@
sys.exit(exit_code)
+def setup_logging(log_file, verbose, append):
+
+ if verbose:
+ level = logging.INFO
+ else:
+ level = logging.WARNING
+
+ if log_file is not None:
+ handler = logging.FileHandler(log_file, mode=(append and 'a' or
'w'))
+ else:
+ handler = logging.StreamHandler()
+ handler.setFormatter(logging.Formatter(
+ "%(threadName)s::%(levelname)s::%(asctime)s::%(module)s::" +
+ "%(lineno)d::%(name)s::(%(funcName)s) %(message)s"
+ )
+ )
+
+ root_logger = logging.getLogger('')
+ root_logger.setLevel(level)
+ root_logger.addHandler(handler)
+
+
def main():
load_modules()
try:
- opts, args = getopt.getopt(sys.argv[1:], "h", ["help"])
+ opts, args = getopt.getopt(sys.argv[1:], "hl:va",
+ ["help", "logfile=",
"verbose", "append"])
except getopt.GetoptError:
usage_and_exit(1)
+ log_file = None
+ verbose = False
+ append = False
+
+ for opt in opts:
+ if opt[0] in ('-h', '--help'):
+ usage_and_exit(0)
+ elif opt[0] in ('-l', '--logfile'):
+ log_file = opt[1]
+ elif opt[0] in ('-v', '--verbose'):
+ verbose = True
+ elif opt[0] in ('-a', '--append'):
+ append = True
+
+ setup_logging(log_file, verbose, append)
+
if len(args) < 1:
usage_and_exit(1)
--
To view, visit
http://gerrit.ovirt.org/27481
To unsubscribe, visit
http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia495743f6e869f65843404e4d4c25c146ff14b43
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Dima Kuznetsov <dkuznets(a)redhat.com>