Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Use Monolog to log data to files/databases/notifications/...

License

NotificationsYou must be signed in to change notification settings

bnomei/kirby3-monolog

Repository files navigation

Kirby 5PHP 8.2ReleaseDownloadsCoverageMaintainabilityDiscordBuymecoffee

Use Monolog to log data to files/databases/notifications/...

Installation

  • unzipmaster.zip as foldersite/plugins/kirby3-monolog or
  • git submodule add https://github.com/bnomei/kirby3-monolog.git site/plugins/kirby3-monolog or
  • composer require bnomei/kirby3-monolog

Quickstart

site/templates/home.php

monolog()->info('test-' .md5((string)time()), ['title' =>$page->title(),// field will be normalized'page' =>$page->id(),]);

site/logs/2024-10-27.log

[2024-10-27 19:10:30] default.INFO: test-d4a22afc0f735f551748d17c959b3339 {"title":"Home","page":"home"} []

Page-MethodThis plugin also registers a Page-Method which will use the UUID of the page as achannel. You can use it like this:

$page->monolog()->info('test-' .md5((string)time()), [/*...*/]);

site/logs/2024-10-27.log

[2024-10-27 19:10:30] {UUID_of_page}.INFO: test-d4a22afc0f735f551748d17c959b3339 {} []

Setup

Use thedefault channel provided by this plugin or define your ownChannels. Monolog comes bundled with a lot of handlers, formatters and processors.

  • write to file or syslogs
  • send mails
  • post to Slack/Discord
  • insert into local or remote databases
  • format as JSON
  • append file/class/method Introspection
  • append a UUID
  • append URI, post method and IP
  • ... create your own

Usecase

Named Channel => Logger

// write to channel 'default' which writes to file// defined at 'bnomei.monolog.file' callback$log = \Bnomei\Log::singleton()->channel('default');// is same as$log =monolog('default');// or simply$log =monolog();// get a logger instance by channel by name$securityLogger =monolog('security');

Add records to the Logger

Message

$log =monolog();$log->warning('Foo');// or with method chainingmonolog()->error('Bar');

Message and Context

monolog()->info('Adding a new user', ['username' =>$user->name(),]);// increment Field `visits` in current Page$page =$page->increment('visits');monolog()->info('Incrementing Field', ['page' =>$page->id(),'visits' =>$page->visits()->toInt(),]);

Default Channel

Thedefault channel provided by this plugin writes file to thesite/logs folder. It will be using the filename formatdate('Y-m-d') . '.log' andnormalizes the data to make logging Kirby Objects easier.

Note

Without that normalization you would have to call->value() or cast asstring on every Kirby Field before adding its value as context data.

Custom Channel

site/config/config.php

return [// other config settings ...// (optional) add custom channels'bnomei.monolog.channels' => ['security' =>function() {$logger =new \Monolog\Logger('security');// add handlers, formatters, processors and then...return$logger;         }    ],];

Custom Channel Extends

site/config/config.php

return [// other config settings ...// (optional) add custom channels from other plugins'bnomei.monolog.channels.extends' => ['myplugin.name.channels',// array of channel definitions in your other option    ],];

Dependencies

Disclaimer

This plugin is provided "as is" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, pleasecreate a new issue.

License

MIT

It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.


[8]ページ先頭

©2009-2025 Movatter.jp