{"id":21524366,"url":"https://github.com/2o3t/2o3t-logger","last_synced_at":"2026-05-12T04:32:08.345Z","repository":{"id":57092989,"uuid":"149877404","full_name":"2o3t/2o3t-Logger","owner":"2o3t","description":"一个简单的Nodejs日志工具. a simple logger for Node.js. ","archived":false,"fork":false,"pushed_at":"2019-04-22T14:39:15.000Z","size":314,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-12T01:42:39.738Z","etag":null,"topics":["koa","log","log4js","logger","node","nodejs"],"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/2o3t.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":"2018-09-22T13:03:28.000Z","updated_at":"2021-11-16T12:43:43.000Z","dependencies_parsed_at":"2022-08-22T21:40:59.029Z","dependency_job_id":null,"html_url":"https://github.com/2o3t/2o3t-Logger","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/2o3t%2F2o3t-Logger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2o3t%2F2o3t-Logger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2o3t%2F2o3t-Logger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2o3t%2F2o3t-Logger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2o3t","download_url":"https://codeload.github.com/2o3t/2o3t-Logger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244085031,"owners_count":20395523,"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":["koa","log","log4js","logger","node","nodejs"],"created_at":"2024-11-24T01:24:28.801Z","updated_at":"2026-05-12T04:32:08.298Z","avatar_url":"https://github.com/2o3t.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 2o3t-Logger\n\n日志工具,可以打印日志\n\n- 控制台输出\n\n![控制台输出](https://raw.githubusercontent.com/2o3t/2o3t-Logger/master/captures/out.png)\n\n- 文件输出\n\n![文件输出](https://raw.githubusercontent.com/2o3t/2o3t-Logger/master/captures/file.png)\n\n## Init\n\n```js\n    const Logger = require('2o3t-logger');\n    const logger = Logger.instance('names', {\n        disabledFile: true,\n    });\n    // or\n    const logger = new Logger('names', {\n        disabledFile: true, // 禁用文件输出\n    });\n```\n\n## Usage\n\n```js\n     // @example:\n     logger.debug('2o3t!');\n     logger.info('2o3t!');\n     logger.warn('2o3t!');\n     logger.error('2o3t!');\n     logger.fatal('2o3t!');\n     logger.system('2o3t!');\n     logger.test('2o3t!');\n\n     // 以json格式进行打印\n     logger.debug.json('2o3t!');\n     logger.info.json('2o3t!');\n     logger.warn.json('2o3t!');\n     logger.error.json('2o3t!');\n     logger.fatal.json('2o3t!');\n     logger.system.json('2o3t!');\n     logger.test.json('2o3t!');\n\n     // 系统内部打印\n     logger.system.debug('2o3t!');\n     logger.system.info('2o3t!');\n     logger.system.warn('2o3t!');\n     logger.system.error('2o3t!');\n     logger.system.fatal('2o3t!');\n     logger.system.debug.json('2o3t!');\n     logger.system.info.json('2o3t!');\n     logger.system.warn.json('2o3t!');\n     logger.system.error.json('2o3t!');\n     logger.system.fatal.json('2o3t!');\n```\n\n### 全局 hook\n\n通过全局重写 hooks 进行日志捕获.\n\n``` js\nLogger.hooks = function(name, args) {\n // do something\n}\n```\n\n调用日志时, 需要使用 `hook` 才会进行捕获\n```js\n     logger.debug.hook('2o3t!');\n     logger.info.hook('2o3t!');\n     logger.warn.hook('2o3t!');\n     logger.error.hook('2o3t!');\n     logger.fatal.hook('2o3t!');\n     logger.system.hook('2o3t!');\n     logger.test.hook('2o3t!');\n```\n\n## 可控制输出\n\n### For example\n\n- 指定允许打印的模式:\n\n```js\n    process.env.LOGGER_ALLOW=*;   // 开启所有日志\n    process.env.LOGGER_ALLOW=DEBUG,INFO;   // 只开启指定的日志模式\n    process.env.LOGGER_ALLOW=NULL;  // 关闭所有日志\n```\n\n- 指定禁用打印的模式:\n\n```js\n    process.env.LOGGER_BAN=test; // 禁用的指定模式\n    process.env.LOGGER_BAN=test,system; // 禁用的指定模式\n    process.env.LOGGER_BAN=*; // 禁用所有\n```\n\n- 可指定文件存储路径进行配置(默认项目根路径):\n\n```js\n    process.env.LOGGER_ROOT=/a/b/c;   // 绝对路径\n    // or\n    process.env.LOGGER_ROOT=NULL; // 禁用文件输出\n```\n\n### !!! 重要: `system` 和 `test` 不会记录在文件日志中.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2o3t%2F2o3t-logger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F2o3t%2F2o3t-logger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2o3t%2F2o3t-logger/lists"}