Download the PHP package karelwintersky/monolog-pdo-handler without Composer
On this page you can find all versions of the php package karelwintersky/monolog-pdo-handler. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download karelwintersky/monolog-pdo-handler
More information about karelwintersky/monolog-pdo-handler
Files in karelwintersky/monolog-pdo-handler
Package monolog-pdo-handler
Short Description A handler for Monolog that stores data via PDO driver to Database
License MIT
Homepage https://github.com/KarelWintersky/monolog-pdo-handler
Informations about the package monolog-pdo-handler
monolog.KW-PDO-Handler
PDO Handler for Monolog, which allows to store log messages in a MySQL Database via PDO handler.
Handler can log text messages to a specific table and creates the table automatically if it does not exist.
Installation
karelwintersky/monolog-pdo-handler
is available via composer.
Minimum PHP version is 7.1
Usage
Just use it as any other Monolog Handler, push it to the stack of your Monolog Logger instance. The Handler however needs some parameters:
$pdo
- PDO Instance of your database. Pass along the PDO instantiation of your database connection with your database selected.$table
- The table name where the logs should be stored.$additional_fields
- associative array of additional database fields definitions. All additional columns are created automatically and the fields can later be used in the extra context section of a record. See examples below. Default is empty array.$additional_indexes
- associative array of additional database indexes definitions. Default is empty array$level
- The minimum logging level at which this handler will be triggered. Must be any of standard Monolog logging levels (default: Logger::DEBUG)
Default fields at logging table
id
- defined asBIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY
;ipv4
- defined asint(10) unsigned DEFAULT NULL
, will contain client IPv4 or 127.0.0.1 for console scripts;time
- defined asTIMESTAMP
, will contain current timestamp;level
- defined asSMALLINT
, logging level;channel
- defined asVARCHAR(64)
, channel name,message
- defined asLONGTEXT
, message
Examples
Given that $pdo is your database instance, you could use the class as follows:
Note: SQLite does not support 'USING method' for indexes;
ToDo
- [ ] Check and override default field definitions
- [ ] Update readme : how to write custom indexes
- [ ] Update readme : about SQLite.
- [ ] Implement default indexes for PostgreSQL
License
This tool is free software and is distributed under the MIT license. Please have a look at the LICENSE file for further information.