{"id":19234989,"url":"https://github.com/lecepin/lp-logger","last_synced_at":"2025-04-21T05:31:32.169Z","repository":{"id":48166160,"uuid":"394660394","full_name":"lecepin/lp-logger","owner":"lecepin","description":"Browser multi-function logger","archived":false,"fork":false,"pushed_at":"2024-04-26T10:10:48.000Z","size":14,"stargazers_count":14,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-13T03:42:59.895Z","etag":null,"topics":["browser","console","logger","logging-library"],"latest_commit_sha":null,"homepage":"","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/lecepin.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":"2021-08-10T13:15:42.000Z","updated_at":"2024-03-29T10:30:51.000Z","dependencies_parsed_at":"2022-09-10T11:01:40.461Z","dependency_job_id":null,"html_url":"https://github.com/lecepin/lp-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/lecepin%2Flp-logger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lecepin%2Flp-logger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lecepin%2Flp-logger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lecepin%2Flp-logger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lecepin","download_url":"https://codeload.github.com/lecepin/lp-logger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250002215,"owners_count":21359070,"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":["browser","console","logger","logging-library"],"created_at":"2024-11-09T16:15:35.148Z","updated_at":"2025-04-21T05:31:31.930Z","avatar_url":"https://github.com/lecepin.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lp-logger\n\n[![npm (scoped with tag)](https://img.shields.io/npm/v/lp-logger.svg)](https://npmjs.com/package/lp-logger)\n[![NPM downloads](https://img.shields.io/npm/dm/lp-logger.svg)](https://npmjs.com/package/lp-logger)\n\n浏览器端 logger 工具。\n\n![](https://img.alicdn.com/imgextra/i4/O1CN01rU3ORV1Ms0RPsHmP4_!!6000000001489-2-tps-1350-476.png)\n\n## 1.API\n\n```ts\ndeclare module \"lp-logger\" {\n  type Level = \"error\" | \"warn\" | \"log\";\n\n  interface IProp {\n    level?: Level;\n    name?: string;\n    search?: string;\n  }\n\n  export default class Logger {\n    constructor(prop?: IProp);\n    log(...args: any[]): void;\n    warn(...args: any[]): void;\n    error(...args: any[]): void;\n    debug(...args: any[]): void;\n    groupCollapsed(...args: any[]): void;\n    groupEnd(...args: any[]): void;\n  }\n}\n```\n\n#### 1.1 构造方法\n\n```\nconstructor({\n    level,\n    name,\n    search\n})\n```\n\n| 名称   | 说明                                                                                                                                                                            | 默认值              |\n| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |\n| level  | 日志级别。用于控制哪些类型的日志类型可以显示。 （`error`: 只显示 `error`，`warn`: 显示 `warn/error`，`log`: 显示所有）。当有`search` 的 URL 查询参数时，`search` 的优先级最高。 | `log`               |\n| name   | 输出日志中，颜色块的上文本                                                                                                                                                      | `lp-logger`         |\n| search | 用于通过 URL 参数控制显示级别，值与 `level` 的一致                                                                                                                              | `__lp_logger_level` |\n\n#### 1.2 实例方法\n\n| 名称           | 说明                                                         |\n| -------------- | ------------------------------------------------------------ |\n| log            | 同 console.log                                               |\n| warn           | 同 console.warn                                              |\n| error          | 同 console.error                                             |\n| debug          | 同 console.debug                                             |\n| groupCollapsed | 同 console.groupCollapsed，用于创建 log 折叠分组，可嵌套折叠 |\n| groupEnd       | 同 console.groupEnd，用于关闭 log 折叠分组                   |\n\n## 2.安装\n\n支持 CDN 安装和 NPM 安装。\n\n### 2.1 CDN 安装\n\n```html\n\u003cscript src=\"https://unpkg.com/lp-logger\"\u003e\u003c/script\u003e\n\n\u003cscript\u003e\n  // new LpLogger();\n\u003c/script\u003e\n```\n\n### 2.2 NPM 安装\n\n```\nnpm i -S lp-logger\n```\n\n## 3.使用\n\n#### 3.1 折叠信息\n\n```js\nimport LpLogger from \"lp-logger\";\n\nconst logger = new LpLogger({\n  name: \"项目A\",\n});\n\nlogger.groupCollapsed(\"折叠信息1\");\n  logger.log(\"log\");\n  logger.groupCollapsed(\"折叠信息2\");\n    logger.error(\"error\");\n    logger.debug(\"debug\");\n  logger.groupEnd(\"end\");\n  logger.warn(\"warn\");\nlogger.groupEnd(\"end\");\n```\n\n![](https://img.alicdn.com/imgextra/i2/O1CN01bpOGEp1gfuIIgIh72_!!6000000004170-2-tps-1548-286.png)\n\n#### 3.2 只显示错误和警告信息\n\n```js\nimport LpLogger from \"lp-logger\";\n\nconst logger = new LpLogger({\n  name: \"项目B\",\n  level: \"warn\",\n});\n\nlogger.log(\"log\");\nlogger.error(\"error\");\nlogger.debug(\"debug\");\nlogger.warn(\"warn\");\n```\n\n![](https://img.alicdn.com/imgextra/i2/O1CN01bY5TMW1fIickGiZEG_!!6000000003984-2-tps-1478-88.png)\n\n#### 3.3 URL 控制显示\n\n```js\nimport LpLogger from \"lp-logger\";\n\nconst logger = new LpLogger({\n  name: \"项目C\",\n  level: \"\", // 空字符串时，不显示任何信息\n  search: \"__lp_logger_level\", // 配置 URL 控制参数\n});\n\nlogger.log(\"log\");\nlogger.error(\"error\");\nlogger.debug(\"debug\");\nlogger.warn(\"warn\");\n```\n\nURL 控制参数优先级最高，所以日志正常显示：\n\n![](https://img.alicdn.com/imgextra/i2/O1CN01CAdt1A1PZdOiHvei4_!!6000000001855-2-tps-1278-376.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flecepin%2Flp-logger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flecepin%2Flp-logger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flecepin%2Flp-logger/lists"}