# `Statifier.Document.Log`
[🔗](https://github.com/riddler/statifier-ex/blob/v2.0.0/lib/statifier/document/log.ex#L1)

A `<log>` executable-content element: spec 4.7's diagnostic output point.

Both `label` and `expr` are optional per the spec, so both default to
`nil` rather than the empty string - a missing `label` is not the same
fact as an author writing `label=""`. `expr` is raw predicator source, not
a compiled expression (`docs/datamodel.md`); its ADR-0014 span lives at
`attribute_locations[:expr]`, not on a field of this struct, matching how
every other expression-bearing node stores its span.

# `t`

```elixir
@type t() :: %Statifier.Document.Log{
  attribute_locations: Statifier.Document.attribute_locations(),
  expr: String.t() | nil,
  label: String.t() | nil,
  location: Statifier.Parser.Location.t()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
