{"id":30228943,"url":"https://github.com/frozen-projects/runtimelogger","last_synced_at":"2025-08-14T20:07:20.262Z","repository":{"id":309222528,"uuid":"1035526498","full_name":"Frozen-Projects/RuntimeLogger","owner":"Frozen-Projects","description":"UE5 runtime logger plugin for shipping builds without third party dependency.","archived":false,"fork":false,"pushed_at":"2025-08-10T15:58:32.000Z","size":38,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-10T17:29:24.766Z","etag":null,"topics":["error-monitoring","error-reporting","log","logger","logging","runtime","shipping","ue5","ue5-plugin","ue5-project","ue5-template"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Frozen-Projects.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,"zenodo":null}},"created_at":"2025-08-10T15:33:41.000Z","updated_at":"2025-08-10T15:59:53.000Z","dependencies_parsed_at":"2025-08-10T17:42:48.781Z","dependency_job_id":null,"html_url":"https://github.com/Frozen-Projects/RuntimeLogger","commit_stats":null,"previous_names":["frozen-projects/runtimelogger"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Frozen-Projects/RuntimeLogger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frozen-Projects%2FRuntimeLogger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frozen-Projects%2FRuntimeLogger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frozen-Projects%2FRuntimeLogger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frozen-Projects%2FRuntimeLogger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Frozen-Projects","download_url":"https://codeload.github.com/Frozen-Projects/RuntimeLogger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frozen-Projects%2FRuntimeLogger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270475448,"owners_count":24590079,"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","status":"online","status_checked_at":"2025-08-14T02:00:10.309Z","response_time":75,"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":["error-monitoring","error-reporting","log","logger","logging","runtime","shipping","ue5","ue5-plugin","ue5-project","ue5-template"],"created_at":"2025-08-14T20:07:18.352Z","updated_at":"2025-08-14T20:07:20.254Z","avatar_url":"https://github.com/Frozen-Projects.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RuntimeLogger\n\n## Description\nThis plugin allows you to store, write, visualize your runtime generated logs from various threads and create notifications about them. It is blueprint exposed.\n\n## Workflow\n- \u003cb\u003eLog Manager (Blueprint Exposed)\u003c/b\u003e is a UGameInstanceSubsystem (Runtime Logger Subsystem). So, it doesn't affected from level changes, access from everywhere and have singleton, centralized design.\n- \u003cb\u003eLog Message (Blueprint Exposed)\u003c/b\u003e function uses ``TQueue`` for gathering your messages from every thread without race condition. Each message is a ``json object``. You can define your own structure but it has automatic ``UUID (FGuid based)``, ``LogTime (FDateTime::Now())`` and ``LogLevel (ERuntimeLogLevels custom enum)`` parameters. We suggest you to add ``Plugin Name (or module name)``, ``ClassName`` and ``FunctionName`` parameters. If you use ``C++`` you can use ``__FUNCSIG__`` for function name. It automatically add class and function name.\n- \u003cb\u003eRecord Message\u003c/b\u003e function is a public C++ function which running on FRunnableThread. So, it won't affect game thread performance even if there are lots of logs. It stores your log in a private ``TMap\u003cFString, FString\u003e`` which you can access with getters. Key is ``UUID`` and Value is ``other parameters than UUID``. It also writes a text file at your project's save directory with ``ProjectName_RuntimeLogger_Date.log``. File structure is a ``json object array``. If you want to use that file before closing your game, you have to put ``]`` at the end. After closing it, function automatically adds it. We did like this because each entry appends that text file. We don't want to open and close it everytime because performance reasons. It has a delegate that can inform you about generated log. Its execution chain comes from ``AsyncTask(GameThread)`` So, you can safely create a widget from it or you can add furthere features like API callings, e-mails senders or databases drivers to write logs to other services.\nWe did this plugin especially for shipping builds.\n\n## Tutorial\nYou can look at plugin's content folder. You will see sample blueprints.\n\n## Platform Support\nI didn't use any platform specific code. So, it should work with any platform. But I have only Windows and Android devices. So, I can't give support about other platforms especially for their editor side.\n\n## Engine Support\nI don't support ``UE4`` and older versions than ``latest version``. I will update version ``after one month`` of new major release.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrozen-projects%2Fruntimelogger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrozen-projects%2Fruntimelogger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrozen-projects%2Fruntimelogger/lists"}