def lograptor(files, patterns=None, matcher='ruled', cfgfiles=None, apps=None, hosts=None,
              filters=None, time_period=None, time_range=None, case=False, invert=False,
              word=False, files_with_match=None, count=False, quiet=False, max_count=0,
              only_matching=False, line_number=False, with_filename=None,
              ip_lookup=False, uid_lookup=False, anonymize=False, thread=False,
              before_context=0, after_context=0, context=0):
    cli_parser = create_argument_parser()
    args = cli_parser.parse_args()
    args.files = files
    args.matcher = matcher
    args.cfgfiles = cfgfiles
    args.time_period = time_period
    args.time_range = time_range
    args.case = case
    args.invert = invert
    args.word = word
    args.files_with_match = files_with_match
    args.count = count
    args.quiet = quiet
    args.max_count = max_count
    args.only_matching = only_matching
    args.line_number = line_number
    args.with_filename = with_filename
    args.anonymize = anonymize
    args.ip_lookup = ip_lookup
    args.uid_lookup = uid_lookup
    args.thread = thread
    args.context = context
    args.after_context = after_context
    args.before_context = before_context
    args.patterns = [''] if patterns is None else patterns
    if apps is not None:
        args.apps = apps
    if hosts is not None:
        args.hosts = hosts
    if filters is not None:
        args.filters = filters
    _lograptor = LogRaptor(args)
    return _lograptor()