Skip to content

Commit

Permalink
build(project): refactor the project, simplified the API and usage
Browse files Browse the repository at this point in the history
  • Loading branch information
fenying committed Jan 14, 2024
1 parent 006c2cc commit b4b4a8b
Show file tree
Hide file tree
Showing 45 changed files with 1,057 additions and 3,220 deletions.
57 changes: 20 additions & 37 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,78 +7,61 @@
{
"type": "node",
"request": "launch",
"name": "[LiteRT/Logger] Example 01: Quick Start",
"program": "${workspaceFolder}/src/examples/01.quick-start.ts",
"name": "[LiteRT/Logger] Example Quick Start",
"program": "${workspaceFolder}/src/examples/quick-start.ts",
"sourceMaps": true,
"stopOnEntry": false,
"outFiles": [
"${workspaceFolder}/{lib,examples}/**/*.js"
"${workspaceFolder}/lib/**/*.js",
"${workspaceFolder}/examples/**/*.js",
]
},
{
"type": "node",
"request": "launch",
"name": "[LiteRT/Logger] Example 02: Custom Formatter",
"program": "${workspaceFolder}/src/examples/02.custom-formatter.ts",
"name": "[LiteRT/Logger] Example: Custom Formatter",
"program": "${workspaceFolder}/src/examples/custom-formatter.ts",
"sourceMaps": true,
"stopOnEntry": false,
"outFiles": [
"${workspaceFolder}/{lib,examples}/**/*.js"
"${workspaceFolder}/lib/**/*.js",
"${workspaceFolder}/examples/**/*.js",
]
},
{
"type": "node",
"request": "launch",
"name": "[LiteRT/Logger] Example 03: Built-In Colorful TTY Driver",
"program": "${workspaceFolder}/src/examples/03.built-in-colorful-driver.ts",
"name": "[LiteRT/Logger] Example: Using Factory",
"program": "${workspaceFolder}/src/examples/using-factory.ts",
"sourceMaps": true,
"stopOnEntry": false,
"outFiles": [
"${workspaceFolder}/{lib,examples}/**/*.js"
"${workspaceFolder}/lib/**/*.js",
"${workspaceFolder}/examples/**/*.js",
]
},
{
"type": "node",
"request": "launch",
"name": "[LiteRT/Logger] Example 04: Object Logs",
"program": "${workspaceFolder}/src/examples/04.object-logs.ts",
"name": "[LiteRT/Logger] Example: Custom Levels",
"program": "${workspaceFolder}/src/examples/custom-levels.ts",
"sourceMaps": true,
"stopOnEntry": false,
"outFiles": [
"${workspaceFolder}/{lib,examples}/**/*.js"
"${workspaceFolder}/lib/**/*.js",
"${workspaceFolder}/examples/**/*.js",
]
},
{
"type": "node",
"request": "launch",
"name": "[LiteRT/Logger] Example 05: Using Factory",
"program": "${workspaceFolder}/src/examples/05.using-factory.ts",
"name": "[LiteRT/Logger] Example: Custom Driver",
"program": "${workspaceFolder}/src/examples/custom-driver.ts",
"sourceMaps": true,
"stopOnEntry": false,
"outFiles": [
"${workspaceFolder}/{lib,examples}/**/*.js"
]
},
{
"type": "node",
"request": "launch",
"name": "[LiteRT/Logger] Example 06: Custom Levels",
"program": "${workspaceFolder}/src/examples/06.custom-levels.ts",
"sourceMaps": true,
"stopOnEntry": false,
"outFiles": [
"${workspaceFolder}/{lib,examples}/**/*.js"
]
},
{
"type": "node",
"request": "launch",
"name": "[LiteRT/Logger] Example 07: Custom Driver",
"program": "${workspaceFolder}/src/examples/07.custom-driver.ts",
"sourceMaps": true,
"stopOnEntry": false,
"outFiles": [
"${workspaceFolder}/{lib,examples}/**/*.js"
"${workspaceFolder}/lib/**/*.js",
"${workspaceFolder}/examples/**/*.js",
]
}
]
Expand Down
5 changes: 4 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
{
"typescript.tsdk": "node_modules\\typescript\\lib"
"typescript.tsdk": "node_modules\\typescript\\lib",
"cSpell.words": [
"unmute"
]
}
4 changes: 4 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changes Logs

## v2.0.0

- build(project): refactor the project, simplified the API and usage.

## v1.2.1

- fix(logger): removed debug code.
Expand Down
80 changes: 75 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,20 @@
[![GitHub issues](https://img.shields.io/github/issues/litert/logger.js.svg)](https://github.com/litert/logger.js/issues)
[![GitHub Releases](https://img.shields.io/github/release/litert/logger.js.svg)](https://github.com/litert/logger.js/releases "Stable Release")

A logs-writer for LiteRT framework.
A logs writer for LiteRT framework.

## Features

- [x] Log stack trace.
- [x] Enable/Disable log levels.
- [x] Custom levels.
- [x] Custom formats.
- [x] Custom output drivers.

## Requirement

- TypeScript v2.7.1 (or newer)
- Node.js v8.0.0 (or newer)
- TypeScript v5.0.0 (or newer)
- Node.js v18.0.0 (or newer)

## Installation

Expand All @@ -21,9 +29,71 @@ Install by NPM:
npm i @litert/logger --save
```

## Document
## Quick Start

Simple usage:

```ts
// The imported module is a LoggerFactory singleton object, so you can use it directly.
import LoggerFactory from "@litert/logger";

const logger = LoggerFactory.createLogger('Demo');

logger.info('Hello, world!');
logger.warning('Hello, world!');

// Now, just disable a level, and it will not be printed.
logger.setLevelOptions({ levels: ['error'], enabled: false });

logger.error('Hello, world! (WILL NOT BE PRINTED)');

// let's turn on the stack trace, print 2 lines of stack trace.
//
// without specifying levels, all levels will be affected.
logger.setLevelOptions({ traceDepth: 2 });

logger.notice('Hello, world!');
```

Use custom log formatter:

```ts
import LoggerFactory from "@litert/logger";

LoggerFactory.setLevelOptions({ enabled: true });

const logger = LoggerFactory.createLogger('Demo');

logger.setLevelOptions({
formatter: function(log, subj, lv, dt, traces): string {

if (traces?.length) {

return `${new Date(dt).toISOString()} - ${subj} - ${lv} - ${log}
${traces.join('\n ')}
`;
}

return `${new Date(dt).toISOString()} - ${subj} - ${lv} - ${log}`;
}
});

logger.info('Hello, world!');
logger.warning('Hello, world!');

logger.setLevelOptions({ traceDepth: 2 });

logger.error('Hello, world!');
```

More Examples:

- [简体中文版](./docs/zh-CN/README.md)
- [Quick Start](./src/examples/quick-start.ts)
- [Custom log levels](./src/examples/custom-levels.ts)
- [Custom log formatter](./src/examples/custom-formatter.ts)
- [Custom log output driver](./src/examples/custom-driver.ts)
- [Using factory](./src/examples/using-factory.ts)

## License

Expand Down
4 changes: 0 additions & 4 deletions docs/zh-CN/README.md

This file was deleted.

15 changes: 0 additions & 15 deletions docs/zh-CN/apis/README.md

This file was deleted.

9 changes: 0 additions & 9 deletions docs/zh-CN/apis/functions/DEFAULT_JSON_FORMATTER.md

This file was deleted.

9 changes: 0 additions & 9 deletions docs/zh-CN/apis/functions/DEFAULT_TEXT_FORMATTER.md

This file was deleted.

13 changes: 0 additions & 13 deletions docs/zh-CN/apis/functions/createColorfulTTYDriver.md

This file was deleted.

9 changes: 0 additions & 9 deletions docs/zh-CN/apis/functions/createConsoleDriver.md

This file was deleted.

25 changes: 0 additions & 25 deletions docs/zh-CN/apis/functions/createFactory.md

This file was deleted.

11 changes: 0 additions & 11 deletions docs/zh-CN/apis/functions/getDefaultFactory.md

This file was deleted.

28 changes: 0 additions & 28 deletions docs/zh-CN/apis/interfaces/IColorfulTTYDriver.md

This file was deleted.

33 changes: 0 additions & 33 deletions docs/zh-CN/apis/interfaces/IDriver.md

This file was deleted.

Loading

0 comments on commit b4b4a8b

Please sign in to comment.