{"id":13520496,"url":"https://github.com/v3xlabs/logger","last_synced_at":"2025-07-25T15:31:25.786Z","repository":{"id":38017140,"uuid":"434971949","full_name":"v3xlabs/logger","owner":"v3xlabs","description":"Zero dependency, light-weight, blazing fast customizable logging library","archived":false,"fork":false,"pushed_at":"2023-03-06T21:38:40.000Z","size":534,"stargazers_count":31,"open_issues_count":13,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-16T08:15:43.138Z","etag":null,"topics":["console","javascript","logger","logging","logging-library","nodejs","typescript"],"latest_commit_sha":null,"homepage":"https://npmjs.org/package/@lvksh/logger","language":"TypeScript","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/v3xlabs.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":"2021-12-04T17:56:54.000Z","updated_at":"2024-06-08T00:43:50.497Z","dependencies_parsed_at":"2024-06-08T00:43:44.608Z","dependency_job_id":"18393833-e35c-4a75-94ac-5b213f9d105a","html_url":"https://github.com/v3xlabs/logger","commit_stats":{"total_commits":64,"total_committers":7,"mean_commits":9.142857142857142,"dds":0.390625,"last_synced_commit":"908634b32d3921a8b81f1f486a9ed25bf57fbe40"},"previous_names":["lvkdotsh/logger"],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v3xlabs%2Flogger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v3xlabs%2Flogger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v3xlabs%2Flogger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v3xlabs%2Flogger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/v3xlabs","download_url":"https://codeload.github.com/v3xlabs/logger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227290332,"owners_count":17759130,"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":["console","javascript","logger","logging","logging-library","nodejs","typescript"],"created_at":"2024-08-01T05:02:22.538Z","updated_at":"2024-12-01T15:35:47.230Z","avatar_url":"https://github.com/v3xlabs.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"![lvksh logger](./assets/banner.png)\n\n[![MINIFIED SIZE](https://img.shields.io/bundlephobia/min/@lvksh/logger.svg)]()\n[![COVERAGE](https://img.shields.io/badge/coverage-100%25-brightgreen.svg)]()\n[![LANGUAGES](https://img.shields.io/github/languages/top/lvkdotsh/logger)]()\n[![DEPENDENCIRES](https://img.shields.io/badge/dependencies-0-brightgreen.svg)]()\n[![NPM](https://img.shields.io/npm/dt/@lvksh/logger)]()\n\n\u003ccenter\u003e\n    Zero dependency, lightweight, blazingly fast customizable logging library\n\u003c/center\u003e\n\n## Table of Contents\n\n-   [Installation](#installation)\n-   [Usage](#usage)\n    -   [examples](#usage) (To get you going)\n    -   [LoggerConfig](#loggerconfig) (Customization for the entire logger)\n    -   [MethodConfig](#methodconfig) (Customization on a per-method basis)\n    -   [Shimming console.log](#shimming-console.log)\n\n## Installation\n\nUsing `npm`:\n\n```sh\nnpm install @lvksh/logger\n```\n\nor if you prefer to use the `yarn` package manager:\n\n```sh\nyarn add @lvksh/logger\n```\n\n## Usage\n\nGet started by creating your logger\n\n```ts\nimport { createLogger } from '@lvksh/logger';\nimport chalk from 'chalk';\n\nconst log = createLogger(\n    {\n        ok: {\n            label: chalk.greenBright`[OK]`,\n            newLine: '| ',\n            newLineEnd: '\\\\-',\n        },\n        debug: chalk.magentaBright`[DEBUG]`,\n        info: {\n            label: chalk.cyan`[INFO]`,\n            newLine: chalk.cyan`⮡`,\n            newLineEnd: chalk.cyan`⮡`,\n        },\n        veryBigNetworkError: chalk.bgRed.white.bold`[NETWORK]`,\n    },\n    { padding: 'PREPEND' },\n    console.log\n);\n```\n\nAnd now log to your hearts content\n\n```ts\nlog.ok('This is the best logging', 'library', 'you');\nlog.info('will probably');\nlog.debug('ever use');\nlog.veryBigNetworkError`Never Gonna Give You Up!`;\nlog.debug('in', 'your', 'life', \"you're\", 'welcome');\nlog.info('item 1', 'item 2', 'item 3', 'item 4', 'item 5');\n```\n\nWhich produces the following result\n\n\u003ccenter\u003e\n    \u003cimg src=\"./assets/example.png\" /\u003e\n\u003c/center\u003e\n\nOther Themes:\n\n\u003ccenter\u003e\n    \u003ca href=\"https://github.com/lvkdotsh/logger/blob/master/examples/DeepDark.ts\"\u003e\u003cimg src=\"./assets/deepdarklogexample.png\"\u003e\u003c/a\u003e\n\u003c/center\u003e\n\n\u003ccenter\u003e\n    \u003ca href=\"https://github.com/lvkdotsh/logger/blob/master/examples/Sunfire.ts\"\u003e\u003cimg src=\"./assets/sunfireexamplelog.png\"\u003e\u003c/a\u003e\n\u003c/center\u003e\n\n### LoggerConfig\n\nThis section is still work in progress.\n\n### MethodConfig\n\nThis section is still work in progress.\n\n### Shimming `console.log`\n\nDo you still type `console.log` out of habit? Not a problem, simply run `shimLog` with your logger, and your log function of choice and voila.\nNow every stray `console.log` will be on steroids from now on!\n\n```typescript\nimport { createLogger, shimLog } from '@lvksh/logger';\nimport chalk from 'chalk';\n\nconst log = createLogger({\n    debug: chalk.magentaBright`[DEBUG]`,\n});\n\n// Replaces `console.log` with `log.debug` !\nshimLog(log, 'debug');\n```\n\n### File Logging\n\n```typescript\nimport { join } from 'path';\nimport { createLogger } from '@lvksh/logger';\nimport { FileLogger } from '@lvksh/logger/lib/file-log';\n\nconst log = createLogger(\n    {\n        OK: 'OK',\n        INFO: 'INFO',\n    },\n    { divider: ' | ' },\n    FileLogger({\n        mode: 'NEW_FILE',\n        path: join(__dirname, 'logs'),\n        namePattern: 'test.txt',\n    })\n);\n\nlog.OK('Hello World');\n```\n\n### Multi Logging\n\n```typescript\nimport { join } from 'path';\nimport { createLogger } from '@lvksh/logger';\nimport { FileLogger, FileLoggerConfig } from '@lvksh/logger/lib/file-log';\n\nconst fileConfig: FileLoggerConfig = {\n    mode: 'NEW_FILE',\n    path: join(__dirname, '../logs'),\n    namePattern: 'test.txt'\n}\nconst methodConfig = {\n    OK: 'OK',\n    INFO: 'INFO'\n}\n\nconst log = createLogger(\n    methodConfig,\n    { divider: ' | ' },\n    [FileLogger(fileConfig), console.log]\n);\n\nexport default log;\n\nlog.OK('Hello World');\n```\n\n\n## Contributors\n\n[![](https://contrib.rocks/image?repo=lvkdotsh/logger)](https://github.com/lvkdotsh/logger/graphs/contributors)\n\n## LICENSE\n\nThis package is licensed under the [GNU Lesser General Public License](https://www.gnu.org/licenses/lgpl-3.0).\n\nRegex matching within this package is sourced from [ansi-regex](https://github.com/chalk/ansi-regex), which is licensed under the [MIT](https://github.com/chalk/ansi-regex/blob/main/license) license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fv3xlabs%2Flogger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fv3xlabs%2Flogger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fv3xlabs%2Flogger/lists"}