Skip to main content

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.

RecipientGets
a person at the terminal, on requestthe key, the lines, the verdict, and the values: which line holds what, and which one applies
every channel that keeps what it is giventhe 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.