vysinsky / hipchat-logger
Simple logger class for HipChat
Installs: 1 511
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- guzzlehttp/guzzle: ~4.0
- page-boost/hipchat-php-v2: dev-master
- psr/log: @dev
This package is not auto-updated.
Last update: 2024-11-19 01:37:05 UTC
README
PSR-3 compatible logger class which will send you notification to your HipChat room.
Screenshot (taken with Nette Framework's Tracy bridge)
Installation
Via composer require vysinsky/hipchat-logger:@dev
Configuration
Class Vysinsky\HipChat\Logger
has some static properties you can use to configure:
- notifyLevels - Array of levels for which notification (HipChat's popup) is enabled
- colors - Basic colors setup based on log level. In case of unknown key yellow color will be used
Available bridges
Nette Framework (Tracy)
For Nette there is compiler extension. Just add it to your extensions list in neon configuration:
hipChatLogger: Vysinsky\HipChat\Bridges\Tracy\DI\Extension
And add some configuration:
hipChatLogger:
accessToken: yourAccessToken
roomName: test
filters:
- [LoggerFilter, filterAccess]
linkFactory: [MyLinkFactory::createLink] # Set link factory
Other features
Filters
You can now easilly filter messages and decide, whether message should be sent. Filters are simple callbacks which get $level, $message and $context as parameter. Filter return boolean $shouldSend. As soon as any filter returns FALSE execution is stopped.
Example (we don't want to log 404s):
class LoggerFilter { function filterAccess($level, $message, $context) { return $level !== 'access'; } }
Log file link factory
You can set callback factory to Logger, which will create link to log file and send it in message if link is available.
You can set it with calling setLinkToLogFileFactory
(only in Vysinsky\HipChat\Bridges\Tracy):
$logger->setLinkToLogFileFactory(function(Vysinsky\HipChat\Bridges\Tracy $logger, $logPath){ return $logger->extractLogPath($logPath); });