{"id":21326250,"url":"https://github.com/masylum/hellog","last_synced_at":"2025-03-15T23:44:36.907Z","repository":{"id":3139097,"uuid":"4167957","full_name":"masylum/hellog","owner":"masylum","description":"Hellog is a centralized log server that supports different protocols.","archived":false,"fork":false,"pushed_at":"2012-05-06T17:59:04.000Z","size":96,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-22T12:32:40.809Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/masylum.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-04-28T15:06:39.000Z","updated_at":"2014-02-06T01:08:03.000Z","dependencies_parsed_at":"2022-08-19T04:22:04.942Z","dependency_job_id":null,"html_url":"https://github.com/masylum/hellog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masylum%2Fhellog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masylum%2Fhellog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masylum%2Fhellog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masylum%2Fhellog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/masylum","download_url":"https://codeload.github.com/masylum/hellog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243806041,"owners_count":20350775,"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":[],"created_at":"2024-11-21T21:08:55.033Z","updated_at":"2025-03-15T23:44:36.883Z","avatar_url":"https://github.com/masylum.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hellog\n\nHellog is a centralized log server that supports different protocols.\n\nUse it to store, grep and stream the contents of your logs.\n\n**Important**: This module is under construction!\n\n## Installation\n\nYou must have node and npm installed.\n\n```\nnpm install -g hellog\n```\n\n## Usage\n\nTo start hellog just run\n\n```\nhellog [options] log-path\n```\n\n    Options\n      * --interval [100]: How frequent should we poll the file to see updates in ms.\n      * --timeout [Infinity]: For how long do we want to wait until new changes go in\n      * --http-port:\n      * --http-password:\n      * --tcp-port:\n      * --tcp-password:\n      * --websockets-port:\n      * --websockets-password:\n\n## Core API\n\nHellog contains a core API that is used by the protocol implementations.\n\n### truncate(options, callback)\n\nTruncates the contents of the log\n\n    Options:\n      - password: A password that will be used to authorize the current user\n\n    Callbacks:\n      - error {Error}: Any error happened while truncating the logs content\n\n### append(body, options, callback)\n\nAppends a message to the log\n\n    Options:\n      - password: A password that will be used to authorize the current user\n\n    Callbacks:\n      - error {Error}: Any error happened on the stream creation\n\n### stream(options, callback)\n\nStreams the contents of the log\n\n    Options:\n      - interval [100]: How frequent should we poll the file to see updates in ms.\n      - timeout [Infinity]: For how long do we want to wait until new changes go in\n      - tail: Starts from the bottom\n      - count: Number of records to stream\n      - grep: Terms to filter the logs\n      - password: A password that will be used to authorize the current user\n\n    Callbacks:\n      - error {Error}: Any error happened on the stream creation\n      - stream {ReadStream}: The logs readable stream\n\n# Protocols\n\nHellog currently supports HTTP, TCP and Websockets protocols:\n\n## HTTP\n\nTo enable HTTP your just need to pass the option `--http-port` and it will starting listening HTTP messages on that port.\nYou can secure your HTTP communications by using the option `--http-password`\n\n### POST /\n\n    Appends a log message.\n\n    Parameters:\n      - `message`: The message you want to append\n\n    Response Codes:\n      - `201` The log was appended correctly.\n      - `401` A password is needed and it was not provided or incorrect.\n      - `400` The log was either empty or too big (TODO: maximum size?).\n      - `500` There was some problem with hellog. You should report those.\n\n### GET /?[grep=]\n\n    Streams the contents of the log.\n\n    Response Codes:\n      - `200` The log was retrieved succesfully\n      - `401` A password is needed and it was not provided or incorrect.\n      - `500` There was some problem with hellog. You should report those.\n\n### GET /tail?[count=][\u0026grep=]\n\n    Streams the contents of the log starting from the bottom.\n\n    Response Codes:\n      - `200` The log was retrieved succesfully\n      - `401` A password is needed and it was not provided or incorrect.\n      - `500` There was some problem with hellog. You should report those.\n\n### PUT /\n\n    Truncates the log file contents.\n\n    Response Codes:\n      - `200` The log was truncated correctly.\n      - `401` A password is needed and it was not provided or incorrect.\n      - `500` There was some problem with hellog. You should report those.\n\n## TCP\n\nTo enable TCP you just need to pass the option `--tcp-port` and it will starting listening messages on that port.\n\n## Websocket\n\nTo enable the Websocket protocol you just need to pass the option `--websocket-port` and it will starting listening messages on that port.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmasylum%2Fhellog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmasylum%2Fhellog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmasylum%2Fhellog/lists"}