### Description

In the REST API, there is an endpoint to get event (audit) logs. It has sorting and pagination but not filtering. It would be useful to filter by `when` (before and after), `dag_id`, `task_id`,  `owner`, `event`


<img width="891" alt="Screenshot 2023-09-08 at 1 30 35 PM" src="https://github.com/apache/airflow/assets/4600967/4280b9ed-2c73-4a9c-962c-4ede5cb140fe">


### Use case/motivation

_No response_

### Related issues

_No response_

### Are you willing to submit a PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

*,
    limit: int,
    offset: int | None = None,
    order_by: str = "event_log_id",
    session: Session = NEW_SESSION,
) -> APIResponse:
    """Get all log entries from event log."""
    to_replace = {"event_log_id": "id", "when": "dttm"}
    allowed_filter_attrs = [
        "event_log_id",
        "when",
        "dag_id",
        "task_id",
        "event",
        "execution_date",
        "owner",
        "extra",
    ]
    total_entries = session.scalars(func.count(Log.id)).one()
    query = select(Log)
    query = apply_sorting(query, order_by, to_replace, allowed_filter_attrs)
    event_logs = session.scalars(query.offset(offset).limit(limit)).all()
    return event_log_collection_schema.dump(
        EventLogCollection(event_logs=event_logs, total_entries=total_entries)
    )