Merge pull request #41 from bcornec/logfile
Fix #39 with new log files management
This commit is contained in:
commit
ce55371ed5
@ -23,7 +23,7 @@ if HOME == '':
|
|||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
with open(HOME + "/.redfish.conf") as json_data:
|
with open(HOME + "/.redfish/inventory") as json_data:
|
||||||
config = json.load(json_data)
|
config = json.load(json_data)
|
||||||
json_data.close()
|
json_data.close()
|
||||||
except IOError as e:
|
except IOError as e:
|
||||||
|
@ -21,7 +21,7 @@ if HOME == '':
|
|||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
with open(HOME + "/.redfish.conf") as json_data:
|
with open(HOME + "/.redfish/inventory") as json_data:
|
||||||
config = json.load(json_data)
|
config = json.load(json_data)
|
||||||
json_data.close()
|
json_data.close()
|
||||||
except IOError as e:
|
except IOError as e:
|
||||||
|
@ -20,12 +20,12 @@ redfish-client ::
|
|||||||
-h --help Show this screen.
|
-h --help Show this screen.
|
||||||
--version Show version.
|
--version Show version.
|
||||||
-c --config FILE Configuration file
|
-c --config FILE Configuration file
|
||||||
-i --inventory FILE Configuration file [default: $HOME/.redfish.conf]
|
-i --inventory FILE Configuration file [default: $HOME/.redfish/inventory]
|
||||||
--insecure Ignore SSL certificates
|
--insecure Ignore SSL certificates
|
||||||
--debug LEVEL Run in debug mode, LEVEL from 1 to 3 increase verbosity
|
--debug LEVEL Run in debug mode, LEVEL from 1 to 3 increase verbosity
|
||||||
Security warning LEVEL > 1 could reveal password into the logs
|
Security warning LEVEL > 1 could reveal password into the logs
|
||||||
--debugfile FILE Specify the client debugfile [default: /var/log/python-redfish/redfish-client.log]
|
--debugfile FILE Specify the client debugfile [default: $HOME/.redfish/redfish-client.log]
|
||||||
--libdebugfile FILE Specify python-redfish library log file [default: /var/log/python-redfish/python-redfish.log]
|
--libdebugfile FILE Specify python-redfish library log file [default: $HOME/.redfish/python-redfish.log]
|
||||||
|
|
||||||
config commands : manage the configuration file.
|
config commands : manage the configuration file.
|
||||||
manager commands : manage the manager (Light out management). If <manager_name>
|
manager commands : manage the manager (Light out management). If <manager_name>
|
||||||
@ -61,7 +61,7 @@ class InventoryFile(object):
|
|||||||
If the file does not exist create an empty one ready to receive data
|
If the file does not exist create an empty one ready to receive data
|
||||||
|
|
||||||
:param inventory_file: File name of the configuration file
|
:param inventory_file: File name of the configuration file
|
||||||
default: ~/.redfish.conf
|
default: ~/.redfish/inventory
|
||||||
:type config-file: str
|
:type config-file: str
|
||||||
:returns: Nothing
|
:returns: Nothing
|
||||||
|
|
||||||
@ -337,16 +337,6 @@ if __name__ == '__main__':
|
|||||||
logger.info("Arguments parsed")
|
logger.info("Arguments parsed")
|
||||||
logger.debug(arguments)
|
logger.debug(arguments)
|
||||||
|
|
||||||
# Get $HOME environment variables.
|
|
||||||
HOME = os.getenv('HOME')
|
|
||||||
|
|
||||||
if(not HOME):
|
|
||||||
print('ERROR: $HOME environment variable not set,' +
|
|
||||||
'please check your system')
|
|
||||||
logger.error('$HOME environment variable not set')
|
|
||||||
sys.exit(1)
|
|
||||||
logger.debug("Home directory : %s" % HOME)
|
|
||||||
|
|
||||||
# Load config
|
# Load config
|
||||||
config = configparser.ConfigParser(allow_no_value=True)
|
config = configparser.ConfigParser(allow_no_value=True)
|
||||||
logger.debug("Read configuration file")
|
logger.debug("Read configuration file")
|
||||||
@ -365,8 +355,7 @@ if __name__ == '__main__':
|
|||||||
logger.error('Configuration file not found at %s.' % configfile)
|
logger.error('Configuration file not found at %s.' % configfile)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
arguments['--inventory'] = arguments['--inventory'].replace('~', HOME)
|
arguments['--inventory'] = os.path.expandvars(arguments['--inventory'])
|
||||||
arguments['--inventory'] = arguments['--inventory'].replace('$HOME', HOME)
|
|
||||||
inventory = InventoryFile(arguments['--inventory'])
|
inventory = InventoryFile(arguments['--inventory'])
|
||||||
|
|
||||||
# Initialize Template system (jinja2)
|
# Initialize Template system (jinja2)
|
||||||
|
@ -5,18 +5,36 @@ from __future__ import print_function
|
|||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
from future import standard_library
|
from future import standard_library
|
||||||
standard_library.install_aliases()
|
|
||||||
import logging
|
import logging
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
import getpass
|
import getpass
|
||||||
from logging.handlers import RotatingFileHandler
|
from logging.handlers import RotatingFileHandler
|
||||||
|
standard_library.install_aliases()
|
||||||
|
|
||||||
# Global variable definition
|
# Global variable definition
|
||||||
|
|
||||||
logger = None
|
logger = None
|
||||||
TORTILLADEBUG = True
|
TORTILLADEBUG = True
|
||||||
REDFISH_LOGFILE = "/var/log/python-redfish/python-redfish.log"
|
HOME = os.getenv('HOME')
|
||||||
|
if HOME is None:
|
||||||
|
print("$HOME environment variable not set, please check your system")
|
||||||
|
sys.exit(1)
|
||||||
|
if HOME == '':
|
||||||
|
print("$HOME environment is set, but empty, please check your system")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
REDFISH_HOME = os.path.join(HOME, ".redfish")
|
||||||
|
if not os.path.exists(REDFISH_HOME):
|
||||||
|
try:
|
||||||
|
os.mkdir(REDFISH_HOME)
|
||||||
|
except IOError:
|
||||||
|
print('ERROR: can\'t create {}.\n'.format(REDFISH_HOME))
|
||||||
|
print(' Try to create directory {}'.format(os.path.dirname(REDFISH_LOGFILE)))
|
||||||
|
print(' using: mkdir -p {}'.format(os.path.dirname(REDFISH_LOGFILE)))
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
REDFISH_LOGFILE = os.path.join(REDFISH_HOME, "python-redfish.log")
|
||||||
CONSOLE_LOGGER_LEVEL = logging.DEBUG
|
CONSOLE_LOGGER_LEVEL = logging.DEBUG
|
||||||
FILE_LOGGER_LEVEL = logging.DEBUG
|
FILE_LOGGER_LEVEL = logging.DEBUG
|
||||||
|
|
||||||
@ -43,14 +61,13 @@ def initialize_logger(REDFISH_LOGFILE,
|
|||||||
formatter = logging.Formatter(
|
formatter = logging.Formatter(
|
||||||
'%(asctime)s :: %(levelname)s :: %(message)s'
|
'%(asctime)s :: %(levelname)s :: %(message)s'
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
file_handler = RotatingFileHandler(REDFISH_LOGFILE, 'a', 1000000, 1)
|
file_handler = RotatingFileHandler(os.path.expandvars(REDFISH_LOGFILE), 'a', 1000000, 1)
|
||||||
except IOError:
|
except IOError:
|
||||||
print('ERROR: {} does not exist or is not writeable.\n'.format(REDFISH_LOGFILE))
|
print('ERROR: {} does not exist or is not writeable.\n'.format(REDFISH_LOGFILE))
|
||||||
print('1- Try to create directory {}'.format(os.path.dirname(REDFISH_LOGFILE)))
|
print(' Try to create directory {}'.format(os.path.dirname(REDFISH_LOGFILE)))
|
||||||
print(' using: sudo mkdir -p {}'.format(os.path.dirname(REDFISH_LOGFILE)))
|
print(' using: mkdir -p {}'.format(os.path.dirname(REDFISH_LOGFILE)))
|
||||||
print('2- Try to get the {} ownership'.format(os.path.dirname(REDFISH_LOGFILE)))
|
|
||||||
print(' using: sudo chown {} {}'.format(getpass.getuser(), os.path.dirname(REDFISH_LOGFILE)))
|
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
# First logger to file
|
# First logger to file
|
||||||
|
Loading…
x
Reference in New Issue
Block a user