Update log message

pull/404/head
Nicolas Hennion 2014-07-03 11:21:35 +02:00
parent c1a4022475
commit 9584749532
7 changed files with 47 additions and 25 deletions

View File

@ -58,16 +58,22 @@ def __signal_handler(signal, frame):
def end():
"""Stop Glances."""
logger.info("Stop Glances (with CTRL-C)")
if core.is_standalone():
# Stop the standalone (CLI)
standalone.end()
logger.info("Stop Glances (with CTRL-C)")
elif core.is_client():
# Stop the client
client.end()
logger.info("Stop Glances client (with CTRL-C)")
elif core.is_server():
# Stop the server
server.end()
logger.info("Stop Glances server (with CTRL-C)")
elif core.is_webserver():
# Stop the Web server
webserver.end()
logger.info("Stop Glances web server(with CTRL-C)")
# The end...
sys.exit(0)
@ -84,7 +90,7 @@ def main():
gettext.install(gettext_domain, locale_dir)
# Share global var
global core, standalone, client, server
global core, standalone, client, server, webserver
# Create the Glances main instance
core = GlancesMain()
@ -118,7 +124,7 @@ def main():
# Test if client and server are in the same major version
if not client.login():
print(_("Error: The server version is not compatible with the client"))
logger.critical(_("The server version is not compatible with the client"))
sys.exit(2)
# Start the client loop

View File

@ -29,7 +29,7 @@ except ImportError: # Python 2
from xmlrpclib import ServerProxy, ProtocolError, Fault
# Import Glances libs
from glances.core.glances_globals import version
from glances.core.glances_globals import version, logger
from glances.core.glances_stats import GlancesStatsClient
from glances.outputs.glances_curses import GlancesCurses
@ -57,7 +57,7 @@ class GlancesClient(object):
try:
self.client = ServerProxy(uri)
except Exception as e:
print(_("Error: Couldn't create socket {0}: {1}").format(uri, e))
logger.error(_("Couldn't create socket {0}: {1}").format(uri, e))
sys.exit(2)
def set_mode(self, mode='glances'):
@ -88,14 +88,17 @@ class GlancesClient(object):
client_version = self.client.init()
except socket.error as err:
# Fallback to SNMP
print (_("Info: Connection to Glances server failed. Trying fallback to SNMP..."))
logger.error(_("Connection to Glances server failed"))
self.set_mode('snmp')
fallbackmsg = _("Trying fallback to SNMP...")
print(fallbackmsg)
logger.info(fallbackmsg)
except ProtocolError as err:
# Others errors
if str(err).find(" 401 ") > 0:
print(_("Error: Connection to server failed: Bad password"))
logger.error(_("Connection to server failed (Bad password)"))
else:
print(_("Error: Connection to server failed: {0}").format(err))
logger.error(_("Connection to server failed ({0})").format(err))
sys.exit(2)
if self.get_mode() == 'glances' and version[:3] == client_version[:3]:
@ -103,8 +106,8 @@ class GlancesClient(object):
self.stats = GlancesStatsClient()
self.stats.set_plugins(json.loads(self.client.getAllPlugins()))
else:
print (_("Info: Trying to grab stats by SNMP..."))
self.set_mode('snmp')
logger.info(_("Trying to grab stats by SNMP..."))
if self.get_mode() == 'snmp':
# Fallback to SNMP if needed
@ -114,7 +117,7 @@ class GlancesClient(object):
self.stats = GlancesStatsClientSNMP(args=self.args)
if not self.stats.check_snmp():
print(_("Error: Connection to SNMP server failed"))
logger.error(_("Connection to SNMP server failed"))
sys.exit(2)
else:
# Unknow mode...
@ -138,7 +141,8 @@ class GlancesClient(object):
elif self.get_mode() == 'snmp':
return self.update_snmp()
else:
print(_("Error: Unknown server mode: {0}").format(self.get_mode()))
self.end()
logger.critical(_("Unknown server mode: {0}").format(self.get_mode()))
sys.exit(2)
def update_glances(self):
@ -188,8 +192,6 @@ class GlancesClient(object):
# Update the screen
self.screen.update(self.stats, cs_status=cs_status)
# print self.stats
# print self.stats.getAll()
def end(self):
"""End of the client session."""

View File

@ -33,6 +33,9 @@ LOGGING_CFG = {
'formatters': {
'standard': {
'format': '%(asctime)s -- %(levelname)s -- %(message)s'
},
'short': {
'format': '%(levelname)s: %(message)s'
}
},
'handlers': {
@ -43,9 +46,9 @@ LOGGING_CFG = {
'filename': '/tmp/glances.log'
},
'console':{
'level':'CRITICAL',
'level':'ERROR',
'class':'logging.StreamHandler',
'formatter': 'standard'
'formatter': 'short'
}
},
'loggers': {

View File

@ -32,7 +32,7 @@ except ImportError: # Python 2
from SimpleXMLRPCServer import SimpleXMLRPCServer
# Import Glances libs
from glances.core.glances_globals import version
from glances.core.glances_globals import version, logger
from glances.core.glances_stats import GlancesStatsServer
from glances.core.glances_timer import Timer
@ -113,7 +113,7 @@ class GlancesXMLRPCServer(SimpleXMLRPCServer):
try:
self.address_family = socket.getaddrinfo(bind_address, bind_port)[0][0]
except socket.error as e:
print(_("Error: Couldn't open socket: {0}").format(e))
logger.error(_("Couldn't open socket: {0}").format(e))
sys.exit(1)
SimpleXMLRPCServer.__init__(self, (bind_address, bind_port),
@ -170,7 +170,6 @@ class GlancesInstance(object):
The goal is to dynamically generate the API get'Stats'() methods.
"""
# print "DEBUG: Call method: %s" % item
header = 'get'
# Check if the attribute starts with 'get'
if item.startswith(header):
@ -200,7 +199,7 @@ class GlancesServer(object):
try:
self.server = GlancesXMLRPCServer(args.bind_address, args.port, requestHandler)
except Exception as e:
print(_("Error: Cannot start Glances server: {0}").format(e))
logger.error(_("Cannot start Glances server: {0}").format(e))
sys.exit(2)
# The users dict

View File

@ -19,11 +19,15 @@
import sys
# Import Glances libs
from glances.core.glances_globals import logger
# Import mandatory PySNMP lib
try:
from pysnmp.entity.rfc3413.oneliner import cmdgen
except ImportError:
print("PySNMP library not found.")
print("Install using pip: # pip install pysnmp")
logger.critical(_("PySNMP library not found."))
print(_("Install using pip: # pip install pysnmp"))
sys.exit(2)

View File

@ -22,11 +22,16 @@
import os
import sys
# Import Glances libs
from glances.core.glances_globals import logger
# Import mandatory Bottle lib
try:
from bottle import Bottle, template, static_file, TEMPLATE_PATH
except ImportError:
print('Bottle module not found. Glances cannot start in web server mode.')
sys.exit(1)
logger.critical('Bottle module not found. Glances cannot start in web server mode.')
print(_("Install it using pip: # pip install bottle"))
sys.exit(2)
class GlancesBottle(object):
@ -83,7 +88,10 @@ class GlancesBottle(object):
# Init stats
self.stats = stats
self._app.run(host=self.args.bind_address, port=self.args.port)
bindmsg = _("Glances web server started on http://{}:{}/").format(self.args.bind_address, self.args.port)
logger.info(bindmsg)
print(bindmsg)
self._app.run(host=self.args.bind_address, port=self.args.port, quiet=not self.args.debug)
def end(self):
"""End the bottle."""