{"id":15289263,"url":"https://github.com/daymxn/rlog","last_synced_at":"2026-02-14T17:02:14.691Z","repository":{"id":255437806,"uuid":"846729920","full_name":"daymxn/rLog","owner":"daymxn","description":"Context-based server-side logging solution for ROBLOX projects.","archived":false,"fork":false,"pushed_at":"2024-09-03T15:31:48.000Z","size":1277,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-13T02:52:07.090Z","etag":null,"topics":["logging","lua","roblox","roblox-ts","server-side","typescript"],"latest_commit_sha":null,"homepage":"http://rlog.daymxn.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daymxn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2024-08-23T20:41:23.000Z","updated_at":"2025-03-05T14:39:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"1372f35f-c990-40dd-852c-447297cee6d9","html_url":"https://github.com/daymxn/rLog","commit_stats":null,"previous_names":["daymxn/rlog"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/daymxn/rLog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daymxn%2FrLog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daymxn%2FrLog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daymxn%2FrLog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daymxn%2FrLog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daymxn","download_url":"https://codeload.github.com/daymxn/rLog/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daymxn%2FrLog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29450591,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T15:52:44.973Z","status":"ssl_error","status_checked_at":"2026-02-14T15:52:11.208Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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","lua","roblox","roblox-ts","server-side","typescript"],"created_at":"2024-09-30T16:00:08.087Z","updated_at":"2026-02-14T17:02:14.659Z","avatar_url":"https://github.com/daymxn.png","language":"TypeScript","readme":"\u003ch1 align=\"center\"\u003e\n \u003cbr\u003e\n \u003cbr\u003e\n\u003cimg width=\"320\" src=\"./static/logo.svg\" alt=\"rlog\"/\u003e\n \u003cbr\u003e\n \u003cbr\u003e\n \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003e Context-based server-side logging solution for ROBLOX projects.\n\n\u003cp align=\"left\"\u003e\n\u003ca alt=\"Released version\" href=\"https://www.npmjs.com/package/@rbxts/rlog\"\u003e\n\u003cimg src=\"https://img.shields.io/npm/v/%40rbxts%2Frlog?style=flat-square\"\u003e\u003c/a\u003e\n\u003cimg alt=\"Last release date\" src=\"https://img.shields.io/github/release-date/daymxn/rlog?label=last%20release\"\u003e\n\u003ca alt=\"Last commit date\" href=\"https://github.com/daymxn/rLog/commits/main/\"\u003e\n\u003cimg src=\"https://img.shields.io/github/last-commit/daymxn/rlog/main?style=flat-square\"\u003e\u003c/a\u003e\n\u003ca alt=\"Open issues\" href=\"https://github.com/daymxn/rLog/issues\"\u003e\n\u003cimg src=\"https://img.shields.io/github/issues/daymxn/rlog?style=flat-square\"\u003e\u003c/a\u003e\n\u003cimg alt=\"Code size\" src=\"https://img.shields.io/github/languages/code-size/daymxn/rlog?style=flat-square\"\u003e\n\u003ca alt=\"License\" href=\"https://github.com/daymxn/rLog/blob/main/LICENSE\"\u003e\n\u003cimg src=\"https://img.shields.io/github/license/daymxn/rlog?style=flat-square\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003cbr\u003e\n\n## Demo\n\n```ts\nimport { rLog } from \"@rbxts/rlog\";\n\nconst logger = new rLog();\n\nlogger.debug(\"User purchase made\", {\n  user: {\n    id: 123,\n    purchase: {\n      id: 15,\n      details: {\n        item: \"Nuke\",\n        result: Enum.ProductPurchaseDecision.PurchaseGranted,\n        position: new Vector3(10, 15, 20),\n        rotation: new CFrame(),\n      },\n    },\n  },\n});\n```\n\n![ROBLOX console output](./static/demo-output.png)\n\n## Installation\n\nInstall rLog with your preferred package manager.\n\n### npm\n\n```sh\nnpm install @rbxts/rlog\n```\n\n### pnpm\n\n```sh\npnpm add @rbxts/rlog\n```\n\n### yarn\n\n```sh\nyarn add @rbxts/rlog\n```\n\n## Overview\n\nrLog is a Context-based server-side logging framework for ROBLOX, designed to help organize and structure your logging process.\n\nUtilizing [Correlation IDs](https://microsoft.github.io/code-with-engineering-playbook/observability/correlation-id/) via rLog's `LogContext`, you can create logging infrastructure that mirrors more enterprise-like systems; facilitating easier debugging and external auditing.\n\n## Documentation\n\n[Quick Start](https://rlog.daymxn.com/docs/quick-start)\n\n[API Reference](https://rlog.daymxn.com/docs/api)\n\n[Fast Breakdown](https://rlog.daymxn.com/docs/fast-breakdown)\n\n[Basic Guides](https://rlog.daymxn.com/docs/category/guides)\n\n[Advanced Guides](https://rlog.daymxn.com/docs/category/advanced-guides)\n\n## Features\n\n### Basic Logging\n\n- Log data to the console according to different severity levels.\n- Utilize tags (or prefixes) for individual logging instances.\n\n### Serialization\n\n- Attach data to your log entries that gets serialized before being sent; ensuring the data is properly visible.\n- Support for deeply nested roblox data types that don't typically translate well (e.g., CFrames).\n- Support for encoding custom classes and functions.\n- Customizable class serialization.\n\n### Log Context\n\n- Attach [Correlation IDs](https://microsoft.github.io/code-with-engineering-playbook/observability/correlation-id/) to your logs, creating a linkage between logs in individual flows.\n- Differiate between multiple of the same log in the same function.\n- Automatically generate unique IDs when needed.\n- Optionally configure a custom method for providing your own ID generation.\n- Share configuration settings between context consumers, optionally unique to each invocation.\n- Optionally \"suspend\" logs until they're needed (i.e., a `WARNING` or `ERROR` occurs.); facilitating verbose logs for easier debugging without taking up resources until they're needed.\n\n### Source Context\n\n- Attach data to your logs to identify which *file* the log was sent from.\n- Attach data to your logs to identify what *line number* in the file the log was sent from.\n- Attach data to your logs to identify which *function* the log was sent from, or optionally the *nearest* named function on the stack (in the case of anonymous functions).\n- In the case of anonymous functions, identify the nearest *named* function from where the log was sent.\n\n### Sinks\n\n\u003e [!TIP]\n\u003e **rLog** provides an in-house sink for sending logs to the [Google Cloud Logging](https://cloud.google.com/logging) platform.\n\u003e\n\u003e Learn more about it by giving the [Using rLog with Google Cloud Logging](http://localhost:3000/rlog/docs/advanced/google-cloud-logging) guide a read!\n\n- Define callbacks that can conditionally decide to filter logs from reaching any output.\n- Define callbacks that can send logs to external services for storage and auditing.\n- Recursively define callbacks through a hierarchy of logger instances and configurations; allowing you to provide callbacks for individual flows.\n- Define dynamic callbacks that change according to arguments (e.g., the player).\n\n### Enrichers\n\n- Define callbacks that can conditionally mutate or add data to logs.\n- Recursively define callbacks through a hierarchy of logger instances and configurations; allowing you to provide callbacks for individual flows.\n- Define dynamic callbacks that change according to arguments (e.g., the type of data being sent).\n\n### Configuration\n\n- Extensive configuration options for toggling various serialization settings, and overriding encoding behavior when needed.\n- Optionally configure the minimum log level that gets output to the console.\n- Optionally provide custom methods for formatting data in the roblox console, or directing how it reaches the console.\n\n## Getting Started\n\nSo you're ready to get started with **rLog**!\n\nYou can either checkout our [Quick Start](https://rlog.daymxn.com/docs/quick-start) guide, read through our list of [Basic Guides](https://rlog.daymxn.com/docs/category/guides), or jump straight into our [API Reference](https://rlog.daymxn.com/docs/api).\n\n\u003e [!TIP]\n\u003e If you're already familiar with logging libraries, you can give our [Fast Breakdown](https://rlog.daymxn.com/docs/fast-breakdown) a read to get a quick overview of what rLog provides, and where it differs from others.\n\n## Roadmap\n\n- Add publishing for wally\n- Add docs for lua usage\n- Separate provided sinks into a sub package\n- Support google cloud console logging\n- Migrate tests to individual files\n- Implement workflow for test coverage\n- Implement tests for provided workflows\n- Implement more refined serialization/assertions lib\n- Add workflow for checking API diff and version bumping according to semver\n- Add note in contributing about checking the api diff\n\n## Contributing\n\nIf you're interested in contributing to **rLog**, give the [CONTRIBUTING](CONTRIBUTING.md) doc a read.\n\n## License\n\n[Apache 2.0](/LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaymxn%2Frlog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaymxn%2Frlog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaymxn%2Frlog/lists"}