Kirbylog
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/2021-08-23.log
:
[2021-08-23 09:28:04] INFO Something happened
Key features
-
🪃 Globalkirbylog()
helper usable anywhere -
💬 Arrays will be converted to JSON -
🧩 Dependency-free, based solely on Kirby internals -
🔢 Supports logging levels
Installation
Download
Download and copy this repository to /site/plugins/kirbylog
.
Git submodule
git submodule add https://github.com/johannschopplich/kirbylog.git site/plugins/kirbylog
Composer
composer require johannschopplich/kirbylog
Usage
This plugin registers a global kirbylog
function, callable anywhere.
kirbylog('Log this to file');
Logging level
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:
[2021-08-23 12:43:56] ERROR 401
Options
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 |
strftime('%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'
]
]
]
Alternatives
- 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.
License
MIT