Trying to add custom record types or custom sidecar data to record types has uncovered ergonomics problems. I've identified some requirements to see if we can slightly redesign Record and the record-handling logic to make all our operations easier.
Requirements:
Be able to filter records based on common properties or properties not all records have.
Be able to format records accoring to format strings or format functions with arbitrary properties.
All records must have a log level, a message (may be generated on demand), and a timestamp.
Be able to format any record as JSON (through some combination of features; DictFormatter currently does this).
Records should be able to avoid evaluating their properties until they are being output.
Trying to add custom record types or custom sidecar data to record types has uncovered ergonomics problems. I've identified some requirements to see if we can slightly redesign Record and the record-handling logic to make all our operations easier.
Requirements:
and a timestamp.