<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def main( pipeline_name, pipeline_context_input, working_dir, log_level, log_path, ):
 """Entry point for pypyr pipeline runner. Call this once per pypyr run. Call me if you want to run a pypyr pipeline from your own code. This function does some one-off 1st time initialization before running the actual pipeline. pipeline_name.yaml should be in the working_dir/pipelines/ directory. Args: pipeline_name: string. Name of pipeline, sans .yaml at end. pipeline_context_input: string. Initialize the pypyr context with this string. working_dir: path. looks for ./pipelines and modules in this directory. log_level: int. Standard python log level enumerated value. log_path: os.path. Append log to this path. Returns: None """

    pypyr.log.logger.set_root_logger(log_level, log_path)

    logger.debug("starting pypyr")

    # pipelines specify steps in python modules that load dynamically.
    # make it easy for the operator so that the cwd is automatically included
    # without needing to pip install a package 1st.
    pypyr.moduleloader.set_working_directory(working_dir)

    load_and_run_pipeline(pipeline_name=pipeline_name,
                          pipeline_context_input=pipeline_context_input,
                          working_dir=working_dir)

    logger.debug("pypyr done")