{"id":15980800,"url":"https://github.com/macbre/monolog-utils","last_synced_at":"2026-02-14T22:34:32.328Z","repository":{"id":62521283,"uuid":"46818330","full_name":"macbre/monolog-utils","owner":"macbre","description":"Addiitonal formatters and processors for Monolog","archived":false,"fork":false,"pushed_at":"2025-06-06T10:50:06.000Z","size":63,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-09T07:39:04.728Z","etag":null,"topics":["logging","monolog-handler","monolog-processor","php8"],"latest_commit_sha":null,"homepage":"https://packagist.org/packages/macbre/monolog-utils","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/macbre.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-11-24T21:01:00.000Z","updated_at":"2025-06-05T16:27:05.000Z","dependencies_parsed_at":"2022-11-02T10:31:15.111Z","dependency_job_id":"6154232a-c036-4fa5-aa6b-a4ffec8c77fe","html_url":"https://github.com/macbre/monolog-utils","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/macbre/monolog-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macbre%2Fmonolog-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macbre%2Fmonolog-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macbre%2Fmonolog-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macbre%2Fmonolog-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/macbre","download_url":"https://codeload.github.com/macbre/monolog-utils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/macbre%2Fmonolog-utils/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29458903,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T21:29:27.764Z","status":"ssl_error","status_checked_at":"2026-02-14T21:28:11.111Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["logging","monolog-handler","monolog-processor","php8"],"created_at":"2024-10-08T00:22:46.363Z","updated_at":"2026-02-14T22:34:32.313Z","avatar_url":"https://github.com/macbre.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"monolog-utils\n===============\n\n[![Latest Stable Version](http://poser.pugx.org/macbre/monolog-utils/v)](https://packagist.org/packages/macbre/monolog-utils)\n[![Coverage Status](https://coveralls.io/repos/github/macbre/monolog-utils/badge.svg?branch=master)](https://coveralls.io/github/macbre/monolog-utils?branch=master)\n\nAdditional formatters and processors for Monolog 3.x. This package requires PHP 8.1+.\n\n## `ExceptionProcessor`\n\nAllows you to pass an `Exception` instance as a part of `$context` - it will be automatically expanded to log exception class, message, code and a backtrace\n\n```php\ntry {\n\t// do something\n}\ncatch (NastyException $ex) {\n\t$logger-\u003eerror('Something bad happended', [\n\t\t'exception' =\u003e $ex\n\t]);\n}\n```\n\n`exception` field will be expanded to something similar to:\n\n```json\n{\n\t\"context\": {\n\t\t\"exception\": {\n\t\t\t\"class\": \"NastyException\",\n\t\t\t\"message\": \"Things went wrong\",\n\t\t\t\"code\": 42,\n\t\t\t\"trace\": [\n\t\t\t\t\"/home/macbre/app/Foo.class.php:979\",\n\t\t\t\t\"/home/macbre/app/App.class.php:29\",\n\t\t\t\t\"/home/macbre/app/index.php:18\"\n\t\t\t]\n\t\t}\n\t}\n}\n```\n\n## `RequestIdProcessor`\n\nAutomatically generates a unique, per request ID that is sent with every message log as `request_id` field in `$extra`.\n\n## `JsonFormatter`\n\nJSON log formatter for elastic / Kibana.\n\nAn example entry:\n\n```php\n$logger-\u003eerror('Foo Bar', [\n\t'size' =\u003e 42\n]);\n```\n\n```json\n{\n\t\"@timestamp\": \"2023-04-18T08:25:23.123456+00:00\",\n\t\"message\": \"Foo Bar\",\n\t\"context\": {\n\t\t\"size\": 42\n\t},\n\t\"extra\": {\n\t\t\"request_id\": \"566c04c2f22693.59900054\"\n\t},\n\t\"severity\": \"error\",\n\t\"channel\": \"my.app\",\n\t\"source_host\": \"my.server.net\"\n}\n```\n\n# Example\n\n```php\n$logger = new Monolog\\Logger('my.app');\n\n$logger-\u003epushProcessor(new Macbre\\Logger\\Processors\\ExceptionProcessor());\n$logger-\u003epushProcessor(new Macbre\\Logger\\Processors\\RequestIdProcessor());\n\n// Syslog and JSON formatter for elastic / Kibana\n$syslog = new Monolog\\Handler\\SyslogUdpHandler('127.0.0.1', 514, LOG_USER, Monolog\\Logger::INFO);\n$syslog-\u003esetFormatter(new Macbre\\Logger\\Formatters\\JsonFormatter());\n$logger-\u003epushHandler($syslog);\n\n// and now let's use the logger...\n$logger-\u003eerror('Foo Bar', [\n\t'exception' =\u003e new Exception('An error', 123),\n\t'size' =\u003e 42\n]);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmacbre%2Fmonolog-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmacbre%2Fmonolog-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmacbre%2Fmonolog-utils/lists"}