Config Reference
Configuring Larametrics for use within your Laravel app takes place mainly in the config/larametrics.php
file. Each item is broken down in the comment lines above it, describing what that item does and what value(s) it's anticipating.
There are also two .env variables you'll need to set depending on if you use notifications:
- LARAMETRICS_NOTIFICATION_EMAIL, the address that all email notifications will be routed to
- LARAMETRICS_NOTIFICATION_SLACK_WEBHOOK, a Slack webhook configured for receiving requests and adding messages to a specified channel. More info here.
Additionally, there's a few other niche variables that you can set specifically for notifications. See a brief description of each below, or a more details on the documentation site.
- LARAMETRICS_FROM_EMAIL, the email address that notifications will appear to be sent from
- LARAMETRICS_FROM_NAME, the name that will appear alongside associated email notifications
- LARAMETRICS_MODEL_SUBJECT, the subject of notification emails that arrive when models are created/updated/deleted
- LARAMETRICS_LOG_SUBJECT, the subject of notification emails that arrive when an application log event is recorded
- LARAMETRICS_ROUTE_SUBJECT, the subject of notification emails that arrive when a route has been visited
Models
modelsWatched
- Type:
array
- Default:
['App\User']
The array of models that you want Larametrics to monitor changes to. Full namespaces are required. Any model placed in this array will be watched for create, update, and delete events, with all information related to an event added as a record in the larametrics_models
database table.
modelsWatchedExpireDays
- Type:
integer
- Default
30
The amount of time, in days, that models are stored in the database for. The expiration time is only checked during a model's entry or update in the application. Setting this value to 0
will prevent any model records from expiring.
modelsWatchedExpireAmount
- Type:
integer
- Default
1200
The max amount of models that should be stored in the database at any given time. This is only checked during a model's entry or update in the application. Setting this value to 0
allows for an unlimited amount of model records to be stored.
Logs
logsWatched
- Type:
boolean
- Default:
true
Setting this to true allows Larametrics to watch for entries to the main application log and record them in the larametrics_logs
table. As of right now there's no filter for specific log levels (e.g. info, error, notice), all are either watched or not watched depending on this value.
logsWatchedExpireDays
- Type:
integer
- Default:
0
The amount of time, in days, that log entries are stored in the database for. The expiration time is only checked during a log entry's creation or update in the application. Setting this value to 0
will prevent any log entries from expiring.
logsWatchedExpireAmount
- Type:
integer
- Default:
0
The max amount of log entries that should be stored in the database at any given time. This is only checked during a log entry's creation or update in the application. Setting this value to 0
allows for an unlimited amount of log entries to be stored.
Requests
requestsWatched
- Type:
boolean
- Default:
false
Setting this to true allows Larametrics to watch for requests sent from and received to your application, recording them in the larametrics_requests
table. As of right now there's no filter for specific request types (e.g. GET, POST, DELETE), all are either watched or not watched depending on this value.
requestsToSkip
- Type:
array
- Default:
['login']
By default, when requestsWatched is enabled, all requests are watched. If you would like Larametrics to skip a particular path and not record that route, add it to this array. Wildcard matching is enabled as well, using asterisks (*) in a route name.
requestsWatchedExpireDays
- Type:
integer
- Default:
10
The amount of time, in days, that request records are stored in the database for. The expiration time is only checked during a request record's creation or update in the application. Setting this value to 0
will prevent any log entries from expiring. This isn't recommend if you have a moderately active application as the table will fill up fast.
requestsWatchedExpireAmount
- Type:
integer
- Default:
10000
The max amount of request records that should be stored in the database at any given time. This is only checked during a request record's creation or update in the application. Setting this value to 0
allows for an unlimited amount of request records to be stored.
ignoreLarametricsRequests
- Type:
boolean
- Default:
true
If this is set to true (and you're also watching for requests in your application) Larametrics will ignore all requests that come from its dashboard or any of its associated endpoints.
Notifications
notificationMethods
- Type:
array
- Default:
['email' => env('LARAMETRICS_NOTIFICATION_EMAIL', 'admin@localhost'), 'slack' => env('LARAMETRICS_NOTIFICATION_SLACK_WEBHOOK', '')]
If for some reason you want to hard-code in your notification email or Slack webhook URL, you can do so here. By default, these values are tied to .env
variables which you can set on a per-environment basis.
Misc
hideUnwatchedMenuItems
- Type:
boolean
- Default:
true
Setting this to true hides any items that aren't being watched from the navigation bar and main landing page of the dashboard. For instance, if you have this set to true
and logsWatched set to false
, Logs would be removed from the main nav and the overview card for logs would be hidden from the dashboard landing page.