{"id":19791455,"url":"https://github.com/fahl-design/log4php-slack-appender","last_synced_at":"2025-07-25T16:03:07.941Z","repository":{"id":45451382,"uuid":"74897031","full_name":"Fahl-Design/log4php-slack-appender","owner":"Fahl-Design","description":"A log4php appender build as wrapper for \"maknz/slack\" package","archived":false,"fork":false,"pushed_at":"2021-12-13T11:31:12.000Z","size":246,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2024-11-11T03:44:13.953Z","etag":null,"topics":["log4php","log4php-appender","logging","slack"],"latest_commit_sha":null,"homepage":"https://fahl-design.github.io/log4php-slack-appender/","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/Fahl-Design.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-27T15:42:02.000Z","updated_at":"2021-12-13T11:31:14.000Z","dependencies_parsed_at":"2022-07-15T15:17:23.425Z","dependency_job_id":null,"html_url":"https://github.com/Fahl-Design/log4php-slack-appender","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fahl-Design%2Flog4php-slack-appender","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fahl-Design%2Flog4php-slack-appender/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fahl-Design%2Flog4php-slack-appender/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fahl-Design%2Flog4php-slack-appender/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fahl-Design","download_url":"https://codeload.github.com/Fahl-Design/log4php-slack-appender/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224231443,"owners_count":17277386,"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":["log4php","log4php-appender","logging","slack"],"created_at":"2024-11-12T07:03:10.733Z","updated_at":"2024-11-12T07:03:12.448Z","avatar_url":"https://github.com/Fahl-Design.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slack as appender for log4php\n\n## Status\n[![Dependency Status](https://www.versioneye.com/user/projects/583b5debe7cea0003d1985fb/badge.svg?style=flat-square)](https://www.versioneye.com/user/projects/583b5debe7cea0003d1985fb)\n[![Latest Stable Version](https://poser.pugx.org/fahl-design/log4php-slack-appender/v/stable?format=flat-square)](https://packagist.org/packages/fahl-design/log4php-slack-appender)\n[![Total Downloads](https://poser.pugx.org/fahl-design/log4php-slack-appender/downloads?format=flat-square)](https://packagist.org/packages/fahl-design/log4php-slack-appender)\n[![Latest Unstable Version](https://poser.pugx.org/fahl-design/log4php-slack-appender/v/unstable?format=flat-square)](https://packagist.org/packages/fahl-design/log4php-slack-appender)\n[![License](https://poser.pugx.org/fahl-design/log4php-slack-appender/license?format=flat-square)](https://packagist.org/packages/fahl-design/log4php-slack-appender)\n\n[![Monthly Downloads](https://poser.pugx.org/fahl-design/log4php-slack-appender/d/monthly?format=flat-square)](https://packagist.org/packages/fahl-design/log4php-slack-appender)\n[![Daily Downloads](https://poser.pugx.org/fahl-design/log4php-slack-appender/d/daily?format=flat-square)](https://packagist.org/packages/fahl-design/log4php-slack-appender)\n\n[![Maintainability](https://api.codeclimate.com/v1/badges/528fbbf3ba863d5f7ed4/maintainability)](https://codeclimate.com/github/Fahl-Design/log4php-slack-appender/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/528fbbf3ba863d5f7ed4/test_coverage)](https://codeclimate.com/github/Fahl-Design/log4php-slack-appender/test_coverage)\n\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/13d67fe1145c4557a5ccb2ee07ec81e6)](https://www.codacy.com/app/Fahl-Design/log4php-slack-appender?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=Fahl-Design/log4php-slack-appender\u0026amp;utm_campaign=Badge_Grade)\n[![Codacy Badge](https://api.codacy.com/project/badge/Coverage/13d67fe1145c4557a5ccb2ee07ec81e6)](https://www.codacy.com/app/Fahl-Design/log4php-slack-appender?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=Fahl-Design/log4php-slack-appender\u0026utm_campaign=Badge_Coverage)\n\n[![PHP-Eye](https://php-eye.com/badge/fahl-design/log4php-slack-appender/tested.svg?style=flat-square)](https://packagist.org/packages/fahl-design/log4php-slack-appender)\n[![PHP-Eye](https://php-eye.com/badge/fahl-design/log4php-slack-appender/not-tested.svg?style=flat-square)](https://packagist.org/packages/fahl-design/log4php-slack-appender)\n\n### Master Branch\n[![Build Status](https://img.shields.io/travis/Fahl-Design/log4php-slack-appender/master.svg?style=flat-square)](https://travis-ci.org/Fahl-Design/log4php-slack-appender)\n[![StyleCI](https://styleci.io/repos/74897031/shield?branch=master\u0026format=flat-square)](https://styleci.io/repos/74897031)\n[![codecov](https://img.shields.io/codecov/c/github/Fahl-Design/log4php-slack-appender/master.svg?style=flat-square)](https://codecov.io/gh/Fahl-Design/log4php-slack-appender)\n\n### Develop Branch\n[![Build Status](https://img.shields.io/travis/Fahl-Design/log4php-slack-appender/develop.svg?style=flat-square)](https://travis-ci.org/Fahl-Design/log4php-slack-appender)\n[![StyleCI](https://styleci.io/repos/74897031/shield?branch=develop\u0026format=flat-square)](https://styleci.io/repos/74897031)\n[![codecov](https://img.shields.io/codecov/c/github/Fahl-Design/log4php-slack-appender/develop.svg?style=flat-square)](https://codecov.io/gh/Fahl-Design/log4php-slack-appender)\n\n## Description\n\nThis package allows you to use [Slack for PHP](https://github.com/maknz/slack) easily and elegantly in your app as an [log4php](https://logging.apache.org) appender. \nRead the instructions below to get it set up.\n\n## Requirements\n\nPHP \u003e= 7.1\n\n## Installation\n\nYou can install the package using the [Composer](https://getcomposer.org/) package manager. You can install it by running this command in your project root:\n\n```sh\ncomposer require fahl-design/log4php-slack-appender\n```\n\nThen [create an incoming webhook](https://my.slack.com/services/new/incoming-webhook) for each Slack team you'd like to send messages to. You'll need the webhook URL(s) in order to configure this package.\n\nAfter you got your hook url add it as endpoint to your configuration\n\n### XML appender config example\n```xml\n    \u003clog4php:configuration xmlns:log4php=\"http://logging.apache.org/log4php/\" threshold=\"all\"\u003e\n        \u003cappender name=\"appender_slack\" class=\"LoggerAppenderSlack\"\u003e\n            \u003c!-- get endpoint url from https://my.slack.com/services/new/incoming-webhook --\u003e\n            \u003cparam name=\"endpoint\" value=\"https://hooks.slack.com/services/XXXXXXXXXXXXXXX/XXXXXXXXXXXXXXX/XXXXXXXXXXXXXXX\" /\u003e\n            \u003cparam name=\"channel\" value=\"#yourChannel\" /\u003e\n            \u003cparam name=\"username\" value=\"Log4php\" /\u003e\n            \u003c!-- Url or emoji--\u003e\n            \u003cparam name=\"icon\" value=\":do_not_litter:\" /\u003e\n            \u003c!-- flag to allow markdown (default 1) --\u003e\n            \u003cparam name=\"allowMarkdown\" value=\"1\" /\u003e\n            \u003c!-- flag to send log message as slack attachment (default 1) --\u003e\n            \u003cparam name=\"asAttachment\" value=\"1\" /\u003e\n        \u003c/appender\u003e\n        \u003clogger name=\"myLogger\"\u003e\n            \u003cappender_ref ref=\"appender_slack\" /\u003e\n        \u003c/logger\u003e\n    \u003c/log4php:configuration\u003e\n```\n\n### php (config.php) appender config example\n```php\n\u003c?php \n    declare(strict_types=1);\n    \n    use WebProject\\Log4php\\Appender\\Settings\\Config;\n    use WebProject\\Log4php\\Appender\\Slack;\n    \n    return [\n        'rootLogger' =\u003e [\n            'level'     =\u003e 'DEBUG',\n            'appenders' =\u003e ['slack_appender'],\n        ],\n        'myLogger' =\u003e [\n            'appenders' =\u003e ['slack_appender'],\n        ],\n        'appenders' =\u003e [\n            'slack_appender' =\u003e [\n                'class'  =\u003e Slack::class,\n                'params' =\u003e [\n                    Config::KEY_ENDPOINT                             =\u003e 'https://hooks.slack.com/services/XXXXXXXXXXXXXXX/XXXXXXXXXXXXXXX/XXXXXXXXXXXXXXX',\n                    Config::KEY_CHANNEL                              =\u003e '#general',\n                    Config::KEY_USERNAME                             =\u003e 'log4php',\n                    Config::KEY_ICON                                 =\u003e ':ghost:', // emoji or an icon url\n                    Config::KEY_ALLOW_MARKDOWN                       =\u003e true,\n                    Config::KEY_MARKDOWN_IN_ATTACHMENTS_FIELDS       =\u003e [\n                        Config::VALUE_MARKDOWN_IN_ATTACHMENTS_PRETEXT,\n                        Config::VALUE_MARKDOWN_IN_ATTACHMENTS_TEXT,\n                        Config::VALUE_MARKDOWN_IN_ATTACHMENTS_TITLE,\n                        Config::VALUE_MARKDOWN_IN_ATTACHMENTS_FIELDS,\n                        Config::VALUE_MARKDOWN_IN_ATTACHMENTS_FALLBACK\n                    ],\n                    Config::KEY_AS_ATTACHMENT                 =\u003e true,\n                    Config::KEY_LINK_NAMES                    =\u003e true,\n                    Config::KEY_UNFURL_LINKS                  =\u003e false,\n                    Config::KEY_UNFURL_MEDIA                  =\u003e true,\n                    Config::KEY_SET_ICON_BY_LOG_LEVEL         =\u003e true,\n                    Config::KEY_ADD_LOGGER_TO_MESSAGE         =\u003e true\n                ]\n            ]\n        ]\n    ];\n```\n## Usage\n\nCheck example (src/examples)\n```php\n\u003c?php\ndeclare(strict_types=1);\n/**\n * This script requires installation as composer package.\n */\nrequire_once __DIR__.'/../../vendor/autoload.php';\n\ntry {\n    if (!\\is_file(__DIR__.'/../resources/config.local.php')) {\n        throw new RuntimeException('local config file is missing');\n    }\n\n    Logger::configure(include __DIR__.'/../resources/config.local.php');\n\n    Logger::getRootLogger()-\u003efatal('root-logger-fatal-message');\n    $logger = Logger::getLogger('myLogger');\n    $logger-\u003ewarn('warn-message @channel *WATTT*');\n\n    $logger = Logger::getLogger('myLogger');\n    $logger-\u003edebug('debug-message');\n    $logger-\u003einfo('info-message');\n    $logger-\u003ewarn('warn-message @channel *WATTT*');\n    $logger-\u003eerror('error-message');\n    $logger-\u003efatal('fatal-message');\n} catch (\\Throwable $e) {\n    \\print_r($e-\u003egetMessage());\n    \\print_r($e-\u003egetTraceAsString());\n    exit(255);\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffahl-design%2Flog4php-slack-appender","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffahl-design%2Flog4php-slack-appender","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffahl-design%2Flog4php-slack-appender/lists"}