{"id":15654586,"url":"https://github.com/vysinsky/hipchat-logger","last_synced_at":"2025-06-19T01:40:32.758Z","repository":{"id":18631101,"uuid":"21837233","full_name":"vysinsky/hipchat-logger","owner":"vysinsky","description":"PSR-3 compatible logger which integrate HipChat notifications","archived":false,"fork":false,"pushed_at":"2014-09-18T11:56:28.000Z","size":283,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-01T02:49:00.012Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vysinsky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-14T22:03:06.000Z","updated_at":"2014-09-02T08:29:46.000Z","dependencies_parsed_at":"2022-09-24T14:52:04.599Z","dependency_job_id":null,"html_url":"https://github.com/vysinsky/hipchat-logger","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vysinsky%2Fhipchat-logger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vysinsky%2Fhipchat-logger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vysinsky%2Fhipchat-logger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vysinsky%2Fhipchat-logger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vysinsky","download_url":"https://codeload.github.com/vysinsky/hipchat-logger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251815442,"owners_count":21648367,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T12:52:38.660Z","updated_at":"2025-05-01T02:49:10.338Z","avatar_url":"https://github.com/vysinsky.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"HipChat Logger\n==============\n\n[PSR-3](http://www.php-fig.org/psr/psr-3/) compatible logger class which will send you notification to your [HipChat](https://www.hipchat.com) room.\n\n## Screenshot (taken with Nette Framework's Tracy bridge)\n![Screenshot](screenshot.png)\n\n## Installation\n\nVia `composer require vysinsky/hipchat-logger:@dev`\n\n## Configuration\n\nClass `Vysinsky\\HipChat\\Logger` has some static properties you can use to configure:\n\n- notifyLevels - Array of levels for which notification (HipChat's popup) is enabled\n- colors - Basic colors setup based on log level. In case of unknown key yellow color will be used\n\n## Available bridges\n\n### Nette Framework ([Tracy](http://tracy.nette.org/en/))\n\nFor Nette there is compiler extension. Just add it to your extensions list in neon configuration:\n\n```\nhipChatLogger: Vysinsky\\HipChat\\Bridges\\Tracy\\DI\\Extension\n```\n\nAnd add some configuration:\n\n```\nhipChatLogger:\n    accessToken: yourAccessToken\n    roomName: test\n    filters:\n        - [LoggerFilter, filterAccess]\n    linkFactory: [MyLinkFactory::createLink] # Set link factory\n```\n\n## Other features\n\n### Filters\n\nYou 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.\n\nExample (we don't want to log 404s):\n\n```php\nclass LoggerFilter \n{\n    function filterAccess($level, $message, $context)\n    {\n        return $level !== 'access';\n    }\n}\n```\n\n### Log file link factory\n\nYou can set callback factory to Logger, which will create link to log file and send it in message if link is available.\n\nYou can set it with calling `setLinkToLogFileFactory` (only in Vysinsky\\HipChat\\Bridges\\Tracy):\n\n```php\n$logger-\u003esetLinkToLogFileFactory(function(Vysinsky\\HipChat\\Bridges\\Tracy $logger, $logPath){\n\treturn $logger-\u003eextractLogPath($logPath);\n});\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvysinsky%2Fhipchat-logger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvysinsky%2Fhipchat-logger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvysinsky%2Fhipchat-logger/lists"}