Download the PHP package johnykvsky/jklogger without Composer
On this page you can find all versions of the php package johnykvsky/jklogger. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download johnykvsky/jklogger
More information about johnykvsky/jklogger
Files in johnykvsky/jklogger
Package jklogger
Short Description A Simple Logging Class
License MIT
Homepage https://github.com/johnykvsky/JKLogger
Informations about the package jklogger
JKLogger
Simple Logging for PHP. Credits goes to Kenny Katzgrau and Dan Horrigan
JKLogger is an easy-to-use PSR-3 compliant logging class for PHP. It isn't naive about file permissions (which is expected). It was meant to be a class that you could quickly include into a project and have working right away.
Install
Via Composer
Should work fine on PHP 5.6, but I didn't check that. Just change required PHP version in composer.json and maybe remove dev packages and type hinting.
Usage
Output
Setting the Log Level Threshold
You can use the Psr\Log\LogLevel
constants to set Log Level Threshold, so that any messages below that level, will not be logged.
Default Level
The default level is DEBUG
, which means everything will be logged.
Available Levels
Example
Additional Options
JKLogger supports additional options via third parameter in the constructor:
Here's the full list:
Option | Default | Description |
---|---|---|
dateFormat | 'Y-m-d G:i:s.u' | The format of the date in the start of the log lone (php formatted) |
extension | 'txt' | The log file extension |
filename | [prefix][date].[extension] | Set the filename for the log file. This overrides the prefix and extention options. |
flushFrequency | false (disabled) |
How many lines to flush the output buffer after |
prefix | 'log_' | The log file prefix |
logFormat | false |
Format of log entries |
appendContext | true |
When false , don't append context to log entries |
Log Formatting
The logFormat
option lets you define what each line should look like and can contain parameters representing the date, message, etc.
When a string is provided, it will be parsed for variables wrapped in braces ({
and }
) and replace them with the appropriate value:
Parameter | Description |
---|---|
date | Current date (uses dateFormat option) |
level | The PSR log level |
level-padding | The whitespace needed to make this log level line up visually with other log levels in the log file |
priority | Integer value for log level (see $logLevels ) |
message | The message being logged |
context | JSON-encoded context |
Tab-separated
Same as default format but separates parts with tabs rather than spaces:
$logFormat = "[{date}]\t[{level}]\t{message}";
Custom variables and static text
Inject custom content into log messages:
$logFormat = "[{date}] [$var] StaticText {message}";
JSON
To output pure JSON, set appendContext
to false
and provide something like the below as the value of the logFormat
option:
The output will look like:
{"datetime":"2015-04-16 10:28:41.186728","logLevel":"INFO","message":"Message content","context":"{"1":"foo","2":"bar"}"}
Pretty Formatting with Level Padding
For the obsessive compulsive
$logFormat = "[{date}] [{level}]{level-padding} {message}";
... or ...
$logFormat = "[{date}] [{level}{level-padding}] {message}";
Testing
Code checking
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.