What reaches which channel
A .env consists of credentials, and most of the places a finding goes keep what they are given: laravel-health's result store, its notifications, a monitor that polls its endpoint, a deploy log. So the package separates recipients rather than formats.
| Recipient | Gets |
|---|---|
| a person at the terminal, on request | the key, the lines, the verdict, and the values: which line holds what, and which one applies |
| every channel that keeps what it is given | the key, the lines and the verdict. Never a value |
Separated by type
A check reports two things of different types. A finding names its subject, a key or a setting, and says what is wrong with it; it has no field a value could go into. Evidence carries the values, and only the console prints it. laravel-health's result, the event the commands dispatch, and everything built from them are made from findings alone, and the package's own test suite reads the code for any other class that touches the evidence.
A finding stands in the alert itself. An alert that says a scheduled run "failed with exit code 1" and points to a log cannot be acted on; one that names the key and the lines can.
The console
The console shows values only when asked:
php artisan env:lint --show-values
php artisan preflight --show-values
Without the option it prints what every other channel gets. The output of a command a deploy tool or a scheduler runs is kept, in a deploy log or a mail, and so preflight --deploy refuses --show-values outright.
A check that throws is reported under the name of the exception alone, since an exception's message can hold a host name, a user or worse.