{"id":42234761,"url":"https://github.com/stephan-strate/grav-plugin-logger-channels","last_synced_at":"2026-01-27T03:16:37.493Z","repository":{"id":46154167,"uuid":"305175690","full_name":"stephan-strate/grav-plugin-logger-channels","owner":"stephan-strate","description":":paperclip: Add or replace logger handlers and targets for any grav system.","archived":false,"fork":false,"pushed_at":"2024-05-08T06:17:55.000Z","size":607,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-08T07:27:33.582Z","etag":null,"topics":["discord","grav","grav-plugin","graylog","logging","monolog","php","telegram"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stephan-strate.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["stephan-strate"]}},"created_at":"2020-10-18T19:04:00.000Z","updated_at":"2024-05-08T06:17:02.000Z","dependencies_parsed_at":"2022-08-26T16:52:03.659Z","dependency_job_id":null,"html_url":"https://github.com/stephan-strate/grav-plugin-logger-channels","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/stephan-strate/grav-plugin-logger-channels","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephan-strate%2Fgrav-plugin-logger-channels","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephan-strate%2Fgrav-plugin-logger-channels/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephan-strate%2Fgrav-plugin-logger-channels/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephan-strate%2Fgrav-plugin-logger-channels/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stephan-strate","download_url":"https://codeload.github.com/stephan-strate/grav-plugin-logger-channels/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephan-strate%2Fgrav-plugin-logger-channels/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28798751,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T01:07:07.743Z","status":"online","status_checked_at":"2026-01-27T02:00:07.755Z","response_time":168,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["discord","grav","grav-plugin","graylog","logging","monolog","php","telegram"],"created_at":"2026-01-27T03:16:36.795Z","updated_at":"2026-01-27T03:16:37.482Z","avatar_url":"https://github.com/stephan-strate.png","language":"PHP","funding_links":["https://github.com/sponsors/stephan-strate"],"categories":[],"sub_categories":[],"readme":"# Logger Channels Plugin\n\nThe **Logger Channels** Plugin is an extension for [Grav CMS](http://github.com/getgrav/grav). Add or replace logger handlers and targets for any grav system.\n\nWe currently support the following handlers (more can be added through pull requests):\n- Discord\n- Telegram\n- Graylog\n\n## Installation\n\nInstalling the Logger Channels plugin can be done in one of three ways: The GPM (Grav Package Manager) installation method lets you quickly install the plugin with a simple terminal command, the manual method lets you do so via a zip file, and the admin method lets you do so via the Admin Plugin.\n\n### GPM Installation (Preferred)\n\nTo install the plugin via the [GPM](http://learn.getgrav.org/advanced/grav-gpm), through your system's terminal (also called the command line), navigate to the root of your Grav-installation, and enter:\n\n    bin/gpm install logger-channels\n\nThis will install the Logger Channels plugin into your `/user/plugins`-directory within Grav. Its files can be found under `/your/site/grav/user/plugins/logger-channels`.\n\n### Manual Installation\n\nTo install the plugin manually, download the zip-version of this repository and unzip it under `/your/site/grav/user/plugins`. Then rename the folder to `logger-channels`. You can find these files on [GitHub](https://github.com/stephan-strate/grav-plugin-logger-channels) or via [GetGrav.org](http://getgrav.org/downloads/plugins#extras).\n\nYou should now have all the plugin files under\n\n    /your/site/grav/user/plugins/logger-channels\n\t\n\u003e NOTE: This plugin is a modular component for Grav which may require other plugins to operate, please see its [blueprints.yaml-file on GitHub](https://github.com/stephan-strate/grav-plugin-logger-channels/blob/master/blueprints.yaml).\n\n### Admin Plugin\n\nIf you use the Admin Plugin, you can install the plugin directly by browsing the `Plugins`-menu and clicking on the `Add` button.\n\n## Configuration\n\nBefore configuring this plugin, you should copy the `user/plugins/logger-channels/logger-channels.yaml` to `user/config/plugins/logger-channels.yaml` and only edit that copy.\n\nHere is the default configuration and an explanation of available options:\n\n```yaml\nenabled: true\nremove_default_handlers: false\n```\n\nNote that if you use the Admin Plugin, a file with your configuration named logger-channels.yaml will be saved in the `user/config/plugins/`-folder once the configuration is saved in the Admin.\n\n## Usage\n\n### Log Levels\n\nGrav uses [Monolog](https://github.com/Seldaek/monolog) as logger framework. So the log levels are inherited from this library. Here is a quick overview on valid log level values for configuration:\n\n| Level     | Value |\n| --------- | ----- |\n| Debug     | 100   |\n| Info      | 200   |\n| Notice    | 250   |\n| Warning   | 300   |\n| Error     | 400   |\n| Critical  | 500   |\n| Alert     | 550   |\n| Emergency | 600   |\n\n### Handlers\n\nHandlers can be interpreted as targets for your log messages. They can usually be configured with a specific log level. That means you can eg. receive critical or emergency logs via email and debug/info logs to Discord. The combinations and configurations are endless. In the following chapter we will describe on how to set up the supported handlers.\n\nSupported handlers:\n- Discord\n- Telegram\n- Graylog\n\n#### Discord\n\nDiscord uses so called webhooks to receive messages for a specific channel. Create a webhook as described in the official [documentation](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) and paste the url into the plugin configuration.\n\nExample:\n```yaml\nhandlers.discord:\n  -\n    webhook: https://discord.com/api/webhooks/\u003cid\u003e\n    level: 100 # Debug\n```\n\n#### Telegram\n\nTelegram uses bots to send messages to defined chats. You can create your own bot (see [here](https://github.com/merorafael/monolog-telegram-handler)) and paste the access token and desired chat id into the plugin configuration.\n\nExample:\n```yaml\nhandlers.telegram:\n  -\n    token: \u003ctoken\u003e\n    chatid: \u003cchat_id\u003e\n    level: 100 # Debug\n```\n\n## Credits\n\n[Monolog](https://github.com/Seldaek/monolog) has a lot of built-in handlers as well as a bunch of third-party ones. We do not want to re-invent the wheel here and just use some [third-party](https://github.com/Seldaek/monolog/wiki/Third-Party-Packages) handlers:\n\n- Discord: https://github.com/lefuturiste/monolog-discord-handler\n- Telegram: https://github.com/merorafael/monolog-telegram-handler\n- Graylog: https://github.com/bzikarsky/gelf-php\n\n## Known Limitations\n\n* As this is a regular plugin, the log handlers are initialized and applied after some errors already could have occured. But from my testing this was never a real problem.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephan-strate%2Fgrav-plugin-logger-channels","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstephan-strate%2Fgrav-plugin-logger-channels","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephan-strate%2Fgrav-plugin-logger-channels/lists"}