description: >
    Implement to provide event/error entry attributes.
    This interface should be instantiated for the phosphor::logging namespace.
    This interface is a collection of objects, therefore it is required to
    implement org.freedesktop.DBus.ObjectManager on the logging namespace root.
    Optionally, implement org.openbmc.Object.Delete to allow the deletion of
    individual entries.
properties:
    - name: Id
      type: uint32
      description: >
          The error event entry id number.
    - name: Timestamp
      type: uint64
      description: >
          Commit timestamp of the error event entry in milliseconds since 1970.
    - name: Severity
      type: enum[self.Level]
      description: >
          The severity of the error event entry.
    - name: Message
      type: string
      description: >
          The message description of the error event entry.
    - name: AdditionalData
      type: array[string]
      description: >
          Additional information in the form of metadata field strings VAR=val

enumerations:
    - name: Level
      description: >
          Possible severity levels for an error log entry.
      values:
        - name: Emergency
          description: >
              System is unusable.
        - name: Alert
          description: >
              Should be corrected immediately.
        - name: Critical
          description: >
              Critical condition.
        - name: Error
          description: >
              Error condition.
        - name: Warning
          description: >
              An error may occur if action is not taken.
        - name: Notice
          description: >
              Unusual condition, but not an error.
        - name: Informational
          description: >
              Normal operational message that does not require action.
        - name: Debug
          description: >
              Information useful to developers for debugging the application.

