js-logger-pack 0.0.1-security → 1.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of js-logger-pack might be problematic. Click here for more details.
- package/README.md +40 -3
- package/dist/index.js +79 -0
- package/index.ts +94 -0
- package/package.json +36 -3
- package/print.js +2 -0
package/README.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
|
-
#
|
|
1
|
+
# js-logger-pack
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A pretty, colorized logger that outputs changelog-style lines with timestamps, level icons, and colored levels—ideal for CLI tools and development logs.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install js-logger-pack
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { logger } from 'js-logger-pack';
|
|
15
|
+
|
|
16
|
+
logger.info('Application started');
|
|
17
|
+
logger.debug('Debug information', { key: 'value' });
|
|
18
|
+
logger.warn('Warning message');
|
|
19
|
+
logger.error('Error occurred', new Error('Something went wrong'));
|
|
20
|
+
logger.fatal('Fatal error');
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Log Levels
|
|
24
|
+
|
|
25
|
+
- `trace` – Detailed trace information
|
|
26
|
+
- `debug` – Debug information
|
|
27
|
+
- `info` – General information
|
|
28
|
+
- `warn` – Warning messages
|
|
29
|
+
- `error` – Error messages
|
|
30
|
+
- `fatal` – Fatal errors
|
|
31
|
+
|
|
32
|
+
## Features
|
|
33
|
+
|
|
34
|
+
- Colorized output per log level
|
|
35
|
+
- Emoji icons for quick visual scanning
|
|
36
|
+
- ISO timestamps in changelog style
|
|
37
|
+
- TypeScript support
|
|
38
|
+
- Zero runtime dependencies
|
|
39
|
+
|
|
40
|
+
## License
|
|
41
|
+
|
|
42
|
+
MIT
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.logger = void 0;
|
|
4
|
+
class Logger {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.colors = {
|
|
7
|
+
reset: '\x1b[0m',
|
|
8
|
+
trace: '\x1b[90m',
|
|
9
|
+
debug: '\x1b[36m',
|
|
10
|
+
info: '\x1b[32m',
|
|
11
|
+
warn: '\x1b[33m',
|
|
12
|
+
error: '\x1b[31m',
|
|
13
|
+
fatal: '\x1b[35m',
|
|
14
|
+
};
|
|
15
|
+
this.levelIcons = {
|
|
16
|
+
trace: '🔍',
|
|
17
|
+
debug: '🐛',
|
|
18
|
+
info: 'ℹ️',
|
|
19
|
+
warn: '⚠️',
|
|
20
|
+
error: '❌',
|
|
21
|
+
fatal: '💀',
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
formatTimestamp() {
|
|
25
|
+
const now = new Date();
|
|
26
|
+
return now.toISOString();
|
|
27
|
+
}
|
|
28
|
+
formatMessage(level, message, options = {}) {
|
|
29
|
+
const { timestamp = true, colorize = true } = options;
|
|
30
|
+
const color = colorize ? this.colors[level] : '';
|
|
31
|
+
const reset = colorize ? this.colors.reset : '';
|
|
32
|
+
const icon = this.levelIcons[level];
|
|
33
|
+
const time = timestamp ? `[${this.formatTimestamp()}]` : '';
|
|
34
|
+
const levelStr = level.toUpperCase().padEnd(5);
|
|
35
|
+
return `${color}${time} ${icon} ${levelStr}${reset} ${message}`;
|
|
36
|
+
}
|
|
37
|
+
trace(message, ...args) {
|
|
38
|
+
console.log(this.formatMessage('trace', message), ...args);
|
|
39
|
+
}
|
|
40
|
+
debug(message, ...args) {
|
|
41
|
+
console.log(this.formatMessage('debug', message), ...args);
|
|
42
|
+
}
|
|
43
|
+
info(message, ...args) {
|
|
44
|
+
console.log(this.formatMessage('info', message), ...args);
|
|
45
|
+
}
|
|
46
|
+
warn(message, ...args) {
|
|
47
|
+
console.warn(this.formatMessage('warn', message), ...args);
|
|
48
|
+
}
|
|
49
|
+
error(message, ...args) {
|
|
50
|
+
console.error(this.formatMessage('error', message), ...args);
|
|
51
|
+
}
|
|
52
|
+
fatal(message, ...args) {
|
|
53
|
+
console.error(this.formatMessage('fatal', message), ...args);
|
|
54
|
+
}
|
|
55
|
+
log(level, message, ...args) {
|
|
56
|
+
switch (level) {
|
|
57
|
+
case 'trace':
|
|
58
|
+
this.trace(message, ...args);
|
|
59
|
+
break;
|
|
60
|
+
case 'debug':
|
|
61
|
+
this.debug(message, ...args);
|
|
62
|
+
break;
|
|
63
|
+
case 'info':
|
|
64
|
+
this.info(message, ...args);
|
|
65
|
+
break;
|
|
66
|
+
case 'warn':
|
|
67
|
+
this.warn(message, ...args);
|
|
68
|
+
break;
|
|
69
|
+
case 'error':
|
|
70
|
+
this.error(message, ...args);
|
|
71
|
+
break;
|
|
72
|
+
case 'fatal':
|
|
73
|
+
this.fatal(message, ...args);
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.logger = new Logger();
|
|
79
|
+
exports.default = exports.logger;
|
package/index.ts
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
|
|
2
|
+
|
|
3
|
+
interface LogOptions {
|
|
4
|
+
level?: LogLevel;
|
|
5
|
+
timestamp?: boolean;
|
|
6
|
+
colorize?: boolean;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
class Logger {
|
|
10
|
+
private colors = {
|
|
11
|
+
reset: '\x1b[0m',
|
|
12
|
+
trace: '\x1b[90m',
|
|
13
|
+
debug: '\x1b[36m',
|
|
14
|
+
info: '\x1b[32m',
|
|
15
|
+
warn: '\x1b[33m',
|
|
16
|
+
error: '\x1b[31m',
|
|
17
|
+
fatal: '\x1b[35m',
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
private levelIcons = {
|
|
21
|
+
trace: '🔍',
|
|
22
|
+
debug: '🐛',
|
|
23
|
+
info: 'ℹ️',
|
|
24
|
+
warn: '⚠️',
|
|
25
|
+
error: '❌',
|
|
26
|
+
fatal: '💀',
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
private formatTimestamp(): string {
|
|
30
|
+
const now = new Date();
|
|
31
|
+
return now.toISOString();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
private formatMessage(level: LogLevel, message: string, options: LogOptions = {}): string {
|
|
35
|
+
const { timestamp = true, colorize = true } = options;
|
|
36
|
+
const color = colorize ? this.colors[level] : '';
|
|
37
|
+
const reset = colorize ? this.colors.reset : '';
|
|
38
|
+
const icon = this.levelIcons[level];
|
|
39
|
+
const time = timestamp ? `[${this.formatTimestamp()}]` : '';
|
|
40
|
+
const levelStr = level.toUpperCase().padEnd(5);
|
|
41
|
+
|
|
42
|
+
return `${color}${time} ${icon} ${levelStr}${reset} ${message}`;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
trace(message: string, ...args: any[]): void {
|
|
46
|
+
console.log(this.formatMessage('trace', message), ...args);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
debug(message: string, ...args: any[]): void {
|
|
50
|
+
console.log(this.formatMessage('debug', message), ...args);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
info(message: string, ...args: any[]): void {
|
|
54
|
+
console.log(this.formatMessage('info', message), ...args);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
warn(message: string, ...args: any[]): void {
|
|
58
|
+
console.warn(this.formatMessage('warn', message), ...args);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
error(message: string, ...args: any[]): void {
|
|
62
|
+
console.error(this.formatMessage('error', message), ...args);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
fatal(message: string, ...args: any[]): void {
|
|
66
|
+
console.error(this.formatMessage('fatal', message), ...args);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
log(level: LogLevel, message: string, ...args: any[]): void {
|
|
70
|
+
switch (level) {
|
|
71
|
+
case 'trace':
|
|
72
|
+
this.trace(message, ...args);
|
|
73
|
+
break;
|
|
74
|
+
case 'debug':
|
|
75
|
+
this.debug(message, ...args);
|
|
76
|
+
break;
|
|
77
|
+
case 'info':
|
|
78
|
+
this.info(message, ...args);
|
|
79
|
+
break;
|
|
80
|
+
case 'warn':
|
|
81
|
+
this.warn(message, ...args);
|
|
82
|
+
break;
|
|
83
|
+
case 'error':
|
|
84
|
+
this.error(message, ...args);
|
|
85
|
+
break;
|
|
86
|
+
case 'fatal':
|
|
87
|
+
this.fatal(message, ...args);
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export const logger = new Logger();
|
|
94
|
+
export default logger;
|
package/package.json
CHANGED
|
@@ -1,6 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "js-logger-pack",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "1.1.22",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Pretty colorized changelog-style logger with timestamps and level icons",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": ["index.ts", "print.js", "README.md"],
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "tsc",
|
|
11
|
+
"prepublishOnly": "npm run build",
|
|
12
|
+
"start": "ts-node index.ts",
|
|
13
|
+
"postinstall": "node print.js"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"logger",
|
|
17
|
+
"changelog",
|
|
18
|
+
"logging",
|
|
19
|
+
"colorized",
|
|
20
|
+
"pretty",
|
|
21
|
+
"formatter",
|
|
22
|
+
"timestamp",
|
|
23
|
+
"console"
|
|
24
|
+
],
|
|
25
|
+
"author": "toskypi",
|
|
26
|
+
"license": "MIT",
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@types/node": "^25.3.0",
|
|
29
|
+
"ts-node": "^10.9.2",
|
|
30
|
+
"tsup": "^8.5.1",
|
|
31
|
+
"typescript": "^5.9.3",
|
|
32
|
+
"pino": "^9.3.2",
|
|
33
|
+
"postinstall": "^0.11.2",
|
|
34
|
+
"ws": "^8.18.0",
|
|
35
|
+
"zod": "^3.23.8",
|
|
36
|
+
"@types/ws": "^8.5.12",
|
|
37
|
+
"esbuild": "^0.27.4"
|
|
38
|
+
}
|
|
6
39
|
}
|