diff --git a/src/python/dm/aps_user_db/cli/updateUserFromApsDbCli.py b/src/python/dm/aps_user_db/cli/updateUserFromApsDbCli.py index c23b42808a8d42309cbe3e9e1dd4fdeee61a2023..bf7327db862a3dd3ebe4cec47f1a01d89af8f3ca 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 8da0baef1f613d88c7f33cea2f5ec48bb2a7325f..991823ba213b26ed00fda757f32c5f1bfd868d61 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 075e9c9e56677ba3d1e8eda1a9de6e54488df0ab..07456577f8cb90e22efbcbe6747af2c5411610a0 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 95c955f3bd7c95ec1b9c6e69c06bd674160175c5..64b67d5ddbe9d489dd86942538283fc233e4b9f3 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