diff --git a/bin/swift-log-uploader b/bin/swift-log-uploader index b1e44a53ca..3639dfffb4 100755 --- a/bin/swift-log-uploader +++ b/bin/swift-log-uploader @@ -22,6 +22,8 @@ from swift.common import utils if __name__ == '__main__': parser = OptionParser("Usage: %prog CONFIG_FILE PLUGIN") + parser.add_option('-c', '--log_cutoff', + help='Override new_log_cutoff.') parser.add_option('-x', '--regex', help='Override source_filename_pattern regex.') conf_file, options = parse_options(parser=parser) @@ -42,4 +44,6 @@ if __name__ == '__main__': # currently LogUploader only supports run_once options['once'] = True regex = options.get('regex') - uploader = LogUploader(uploader_conf, plugin, regex=regex).run(**options) + cutoff = options.get('log_cutoff') + uploader = LogUploader(uploader_conf, plugin, + regex=regex, cutoff=cutoff).run(**options) diff --git a/swift/stats/log_uploader.py b/swift/stats/log_uploader.py index cf38ababc9..6051107a86 100644 --- a/swift/stats/log_uploader.py +++ b/swift/stats/log_uploader.py @@ -54,7 +54,7 @@ class LogUploader(Daemon): .*$ ''' - def __init__(self, uploader_conf, plugin_name, regex=None): + def __init__(self, uploader_conf, plugin_name, regex=None, cutoff=None): super(LogUploader, self).__init__(uploader_conf) log_name = '%s-log-uploader' % plugin_name self.logger = utils.get_logger(uploader_conf, log_name, @@ -67,21 +67,19 @@ class LogUploader(Daemon): proxy_server_conf = appconfig('config:%s' % proxy_server_conf_loc, name='proxy-server') self.internal_proxy = InternalProxy(proxy_server_conf) - self.new_log_cutoff = int(uploader_conf.get('new_log_cutoff', '7200')) + self.new_log_cutoff = int(cutoff or + uploader_conf.get('new_log_cutoff', '7200')) self.unlink_log = uploader_conf.get('unlink_log', 'True').lower() in \ utils.TRUE_VALUES - if regex: - self.filename_pattern = regex - else: - self.filename_pattern = \ - uploader_conf.get('source_filename_pattern', - ''' - ^%s- - (?P[0-9]{4}) - (?P[0-1][0-9]) - (?P[0-3][0-9]) - (?P[0-2][0-9]) - .*$''' % plugin_name) + self.filename_pattern = regex or \ + uploader_conf.get('source_filename_pattern', + ''' + ^%s- + (?P[0-9]{4}) + (?P[0-1][0-9]) + (?P[0-3][0-9]) + (?P[0-2][0-9]) + .*$''' % plugin_name) def run_once(self, *args, **kwargs): self.logger.info(_("Uploading logs"))