The most simple, Kirby-esque way to log content to file.
Most of the time, I just want to log some string or array to a file. That's what this plugin does. The given input:
// Anywhere in your code
kirbylog('Something happened');
… will produce this example output site/logs/2023-08-23.log
:
[2023-08-23 09:28:04] INFO Something happened
- 🪃 Global
kirbylog()
helper usable anywhere - 💬 Arrays will be converted to JSON
- 🧩 Dependency-free, based solely on Kirby internals
- 🔢 Supports logging levels
composer require johannschopplich/kirbylog
Download and copy this repository to /site/plugins/kirbylog
.
This plugin registers a global kirbylog
function, callable anywhere.
kirbylog('Log this to file');
Pass the logging level of your choice as the second parameter (upper or lower case is irrelevant). By default, content will be logged with the INFO
level. This plugin uses logging levels described by RFC 5424. Of course, you can tailor them to your needs.
kirbylog($response->code(), 'error');
Generated log file:
[2023-08-23 12:43:56] ERROR 401
All options have to prefixed with
johannschopplich.kirbylog.
in yourconfig.php
.
Option | Default | Type | Description |
---|---|---|---|
dir |
fn () => kirby()->root('logs') |
string or function
|
Root directory for your logs. Note: Wrap kirby() calls in a function, because Kirby hasn't initialized in config.php yet. |
filename |
date('Y-m-d') . '.log' |
string |
Filename to write logged content to. |
defaultLevel |
info |
string |
Default logging level to use. Doesn't need to be case sensitive. |
levels |
Source reference | array |
List of logging levels. By default, kirbylog supports the logging levels described by RFC 5424. |
Configuration example for your site/config/config.php
file:
return [
'johannschopplich.kirbylog' => [
'filename' => 'test.log'
]
]
- bnomei/kirby3-monolog – Use Monolog to log data to files, databases, create notifications etc.
- bvdputte/kirby-log – Another logger in the Kirby-sphere, wrapping the KLogger library.
MIT License © 2022-PRESENT Johann Schopplich