From f6e2fc215b2336eef5df4af9a1aa2ad64b300ecf Mon Sep 17 00:00:00 2001 From: Sinisa Veseli <sveseli@aps.anl.gov> Date: Thu, 13 Oct 2016 18:16:42 +0000 Subject: [PATCH] fixed logging for new utilities --- .../aps_user_db/cli/updateUserFromApsDbCli.py | 22 ++++++++++++------- .../cli/updateUsersFromApsDbCli.py | 5 ++++- .../dm/common/utility/configurationManager.py | 2 +- .../dm/common/utility/loggingManager.py | 19 ++++++++-------- 4 files changed, 29 insertions(+), 19 deletions(-) diff --git a/src/python/dm/aps_user_db/cli/updateUserFromApsDbCli.py b/src/python/dm/aps_user_db/cli/updateUserFromApsDbCli.py index c23b4280..bf7327db 100755 --- a/src/python/dm/aps_user_db/cli/updateUserFromApsDbCli.py +++ b/src/python/dm/aps_user_db/cli/updateUserFromApsDbCli.py @@ -7,6 +7,7 @@ from dm.common.exceptions.invalidArgument import InvalidArgument from dm.common.cli.dmCli import DmCli from dm.common.utility.ldapUserManager import LdapUserManager from dm.common.utility.configurationManager import ConfigurationManager +from dm.common.utility.loggingManager import LoggingManager from dm.aps_user_db.api.apsUserDbApi import ApsUserDbApi class UpdateUserFromApsDbCli(DmCli): @@ -35,28 +36,33 @@ Description: Updates user in DM LDAP and database using information from APS DB. """) ConfigurationManager.getInstance().setConfigFile(self.options.configFile) + LoggingManager.getInstance().configure() self.checkArgs() apsUserDbApi = ApsUserDbApi() badge = self.getBadge() username = 'd%s' % badge + self.logger.debug('Retrieving APS user with badge %s' % badge) apsUser = apsUserDbApi.getApsUserByBadgeNumber(badge) - #print 'APS User Info: ', apsUser.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat()) - print 'APS User Info: ', apsUser - print + self.logger.info('APS User Info: %s' % apsUser) + print('APS User Info: %s\n' % apsUser) ldapUserManager = LdapUserManager.createInstance() try: self.logger.debug('Modifying LDAP user with badge %s: %s' % (badge, apsUser['name'])) ldapUser = ldapUserManager.getUserInfo(username) - print 'LDAP User Info (before update): ', ldapUser - print 'LDAP User Password Hash (before update): ', ldapUserManager.decodePasswordHash(ldapUser.getUserPassword()) - print + self.logger.info('LDAP User Info (before update): %s' % ldapUser) + self.logger.info('LDAP User Password Hash (before update): %s\n' % ldapUserManager.decodePasswordHash(ldapUser.getUserPassword())) + print('LDAP User Info (before update): %s' % ldapUser) + print('LDAP User Password Hash (before update): %s\n' % ldapUserManager.decodePasswordHash(ldapUser.getUserPassword())) + ldapUserManager.modifyUserInfo(username, apsUser) ldapUser = ldapUserManager.getUserInfo(username) except ObjectNotFound, ex: self.logger.debug('User with badge %s does not exist, creating it' % (badge)) ldapUser = ldapUserManager.createUserInfo(username, apsUser) - print 'LDAP User Info (after update): ', ldapUser - print 'LDAP User Password Hash (after update): ', ldapUserManager.decodePasswordHash(ldapUser.getUserPassword()) + self.logger.info('LDAP User Info (after update): %s' % ldapUser) + self.logger.info('LDAP User Password Hash (after update): %s\n' % ldapUserManager.decodePasswordHash(ldapUser.getUserPassword())) + print('LDAP User Info (after update): %s' % ldapUser) + print('LDAP User Password Hash (after update): %s\n' % ldapUserManager.decodePasswordHash(ldapUser.getUserPassword())) ####################################################################### # Run command. diff --git a/src/python/dm/aps_user_db/cli/updateUsersFromApsDbCli.py b/src/python/dm/aps_user_db/cli/updateUsersFromApsDbCli.py index 8da0baef..991823ba 100755 --- a/src/python/dm/aps_user_db/cli/updateUsersFromApsDbCli.py +++ b/src/python/dm/aps_user_db/cli/updateUsersFromApsDbCli.py @@ -8,6 +8,7 @@ from dm.common.exceptions.objectAlreadyExists import ObjectAlreadyExists from dm.common.cli.dmCli import DmCli from dm.common.db.api.userDbApi import UserDbApi from dm.common.utility.configurationManager import ConfigurationManager +from dm.common.utility.loggingManager import LoggingManager from dm.common.utility.ldapUserManager import LdapUserManager from dm.aps_user_db.api.apsUserDbApi import ApsUserDbApi from dm.ds_web_service.api.dsRestApiFactory import DsRestApiFactory @@ -35,8 +36,10 @@ class UpdateUsersFromApsDbCli(DmCli): Description: Updates all users in DM LDAP and database using information from APS DB. This command by default uses DM DB to determine whether or not user needs to be created or updated. If the --without-dm-db flag is set, DM DB will not be used nor it will be updated. """) - self.checkArgs() ConfigurationManager.getInstance().setConfigFile(self.options.configFile) + LoggingManager.getInstance().configure() + self.checkArgs() + self.logger.debug('Starting sync process') apsUserDbApi = ApsUserDbApi() ldapUserManager = LdapUserManager.createInstance() diff --git a/src/python/dm/common/utility/configurationManager.py b/src/python/dm/common/utility/configurationManager.py index 075e9c9e..07456577 100755 --- a/src/python/dm/common/utility/configurationManager.py +++ b/src/python/dm/common/utility/configurationManager.py @@ -30,7 +30,7 @@ DEFAULT_DM_FILE_LOG_LEVEL = 'INFO' #DEFAULT_DM_LOG_RECORD_FORMAT = '%(asctime)s,%(msecs)03d [%(levelname)s] %(module)s:%(lineno)d %(user)s@%(host)s %(name)s (%(process)d): %(message)s' #DEFAULT_DM_LOG_RECORD_FORMAT = '%(asctime)s,%(msecs)03d %(levelname)s %(module)s:%(lineno)d %(process)d: %(message)s' DEFAULT_DM_LOG_RECORD_FORMAT = '%(asctime)s,%(msecs)03d %(levelname)s %(process)d: %(message)s' -DEFAULT_DM_LOG_DATE_FORMAT = '%Y-%m-%d %H:%M:%S' +DEFAULT_DM_LOG_DATE_FORMAT = '%Y/%m/%d %H:%M:%S' DEFAULT_DM_CHERRYPY_LOG_LEVEL = 'ERROR' DEFAULT_DM_CHERRYPY_LOG_FILE = '%s/var/log/%s.%s.cherrypy.error' # requires install dir/db name/service name diff --git a/src/python/dm/common/utility/loggingManager.py b/src/python/dm/common/utility/loggingManager.py index 95c955f3..64b67d5d 100755 --- a/src/python/dm/common/utility/loggingManager.py +++ b/src/python/dm/common/utility/loggingManager.py @@ -91,7 +91,7 @@ class LoggingManager: raise ConfigurationError('"%s" is not valid log level' % levelStr) # Configure log handlers. - def configureHandlers(self): + def configure(self): """ Configure log handlers from the config file. """ cm = ConfigurationManager.getInstance() configFile = cm.getConfigFile() @@ -100,15 +100,16 @@ class LoggingManager: # Console handler. defaults = { - 'level' : cm.getConsoleLogLevel(), - 'format' : cm.getLogRecordFormat(), - 'dateFormat' : cm.getLogDateFormat(), - 'handler' : 'ConsoleLoggingHandler(sys.stdout,)' + 'level' : cm.getConsoleLogLevel(), + 'format' : cm.getLogRecordFormat(), + 'dateFormat' : cm.getLogDateFormat(), + 'handler' : 'ConsoleLoggingHandler(sys.stdout,)' } - consoleHandler = self.__configureHandler(configParser, 'ConsoleLogging', defaults) + if not self.consoleHandler: + consoleHandler = self.__configureHandler(configParser, 'ConsoleLogging', defaults) - if consoleHandler != None: - self.consoleHandler = consoleHandler + if consoleHandler != None: + self.consoleHandler = consoleHandler # File logging. # Do not configure if log directory does not exist. @@ -234,7 +235,7 @@ class LoggingManager: def getLogger(self, name='defaultLogger'): if not self.initFlag: self.initFlag = True - self.configureHandlers() + self.configure() logger = logging.getLogger(name) logger.setLevel(self.getLevel(name)) return logger -- GitLab