hexlogger 1.0.0 → 1.0.1
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.
- package/README.md +290 -0
- package/index.js +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
A premium, zero-dependency JavaScript console logging library for Node.js with beautiful colored output, multiple themes, gradient text, panels, tables, progress bars, and spinners.
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install hexlogger
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
```javascript
|
|
12
|
+
const logger = require('hexlogger');
|
|
13
|
+
|
|
14
|
+
logger.success(" BOT READY ");
|
|
15
|
+
logger.info("Logged in as: MyBot#1234");
|
|
16
|
+
logger.info("Bot Name: MyBot");
|
|
17
|
+
logger.info("Bot ID: 987654321098765432");
|
|
18
|
+
logger.info("Shards: 4");
|
|
19
|
+
logger.info("Connected to: 128 guilds");
|
|
20
|
+
logger.info("Connected to: 94,210 users");
|
|
21
|
+
logger.warn("Rate limit hit on /api/messages");
|
|
22
|
+
logger.error("Failed to fetch guild: 403 Forbidden");
|
|
23
|
+
logger.critical("Shard 2 disconnected unexpectedly");
|
|
24
|
+
logger.fatal("Token invalidated — shutting down");
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Output:**
|
|
28
|
+
```
|
|
29
|
+
[-(14:30:00)-] [ ● ] SUCCESS » BOT READY
|
|
30
|
+
[-(14:30:00)-] [ ● ] INFO » Logged in as: MyBot#1234
|
|
31
|
+
[-(14:30:00)-] [ ● ] INFO » Bot Name: MyBot
|
|
32
|
+
[-(14:30:00)-] [ ● ] INFO » Bot ID: 987654321098765432
|
|
33
|
+
[-(14:30:00)-] [ ● ] INFO » Shards: 4
|
|
34
|
+
[-(14:30:00)-] [ ● ] INFO » Connected to: 128 guilds
|
|
35
|
+
[-(14:30:00)-] [ ● ] INFO » Connected to: 94,210 users
|
|
36
|
+
[-(14:30:00)-] [ ● ] WARNING » Rate limit hit on /api/messages
|
|
37
|
+
[-(14:30:00)-] [ ● ] ERROR » Failed to fetch guild: 403 Forbidden
|
|
38
|
+
[-(14:30:00)-] [ ● ] CRITICAL » Shard 2 disconnected unexpectedly
|
|
39
|
+
[-(14:30:00)-] [ ● ] FATAL » Token invalidated — shutting down
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
| Function | Level |
|
|
45
|
+
|---|---|
|
|
46
|
+
| `trace(msg)` | TRACE |
|
|
47
|
+
| `debug(msg)` | DEBUG |
|
|
48
|
+
| `info(msg)` | INFO |
|
|
49
|
+
| `success(msg)` | SUCCESS |
|
|
50
|
+
| `warn(msg)` / `warning(msg)` | WARNING |
|
|
51
|
+
| `error(msg)` | ERROR |
|
|
52
|
+
| `critical(msg)` | CRITICAL |
|
|
53
|
+
| `fatal(msg)` | FATAL |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
Nine display styles are available. All styles respond to the active theme for color. Switch styles with `logger.setstyle(name)`.
|
|
58
|
+
|
|
59
|
+
```javascript
|
|
60
|
+
logger.setstyle("default");
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
```javascript
|
|
64
|
+
logger.setstyle("box");
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
```javascript
|
|
68
|
+
logger.setstyle("modern");
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
```javascript
|
|
72
|
+
logger.setstyle("bracket");
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
```javascript
|
|
76
|
+
logger.setstyle("arrow");
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
```javascript
|
|
80
|
+
logger.setstyle("pipe");
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
```javascript
|
|
84
|
+
logger.setstyle("tag");
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
```javascript
|
|
88
|
+
logger.setstyle("dots");
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
```javascript
|
|
92
|
+
logger.setstyle("clean");
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
Six built-in themes control the colors applied to every style. Themes do not affect the structure of the output — only the palette.
|
|
98
|
+
|
|
99
|
+
```javascript
|
|
100
|
+
logger.settheme("default"); // Soft blue/green palette
|
|
101
|
+
logger.settheme("neon"); // Vivid cyan/magenta palette
|
|
102
|
+
logger.settheme("minimal"); // Muted grays, abbreviated labels
|
|
103
|
+
logger.settheme("hacker"); // Green-on-black matrix palette
|
|
104
|
+
logger.settheme("sunset"); // Warm orange/red palette
|
|
105
|
+
logger.settheme("ocean"); // Deep blue/teal palette
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
The `minimal` theme also uses abbreviated level labels:
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
[-(14:30:00)-] [ ● ] OK » BOT READY
|
|
112
|
+
[-(14:30:00)-] [ ● ] INF » Logged in as: MyBot#1234
|
|
113
|
+
...
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Custom Themes
|
|
117
|
+
|
|
118
|
+
```javascript
|
|
119
|
+
const { rgb } = require('hexlogger');
|
|
120
|
+
|
|
121
|
+
logger.getConfig().addTheme("mytheme", {
|
|
122
|
+
"timestamp": rgb(0, 100, 200),
|
|
123
|
+
"bracket": rgb(0, 80, 160),
|
|
124
|
+
"dot": rgb(0, 200, 255),
|
|
125
|
+
"separator": rgb(0, 150, 200),
|
|
126
|
+
"debug": rgb(100, 180, 255),
|
|
127
|
+
"info": rgb(0, 200, 255),
|
|
128
|
+
"success": rgb(0, 255, 200),
|
|
129
|
+
"warning": rgb(255, 200, 0),
|
|
130
|
+
"error": rgb(255, 80, 80),
|
|
131
|
+
"critical": rgb(255, 0, 50),
|
|
132
|
+
"fatal": rgb(200, 0, 0),
|
|
133
|
+
"trace": rgb(100, 150, 200),
|
|
134
|
+
"divider": rgb(0, 60, 100),
|
|
135
|
+
"label_debug": "DEBUG",
|
|
136
|
+
"label_info": "INFO",
|
|
137
|
+
"label_success": "SUCCESS",
|
|
138
|
+
"label_warning": "WARNING",
|
|
139
|
+
"label_error": "ERROR",
|
|
140
|
+
"label_critical": "CRITICAL",
|
|
141
|
+
"label_fatal": "FATAL",
|
|
142
|
+
"label_trace": "TRACE",
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
logger.settheme("mytheme");
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
```javascript
|
|
151
|
+
logger.divider();
|
|
152
|
+
logger.divider("═", 80);
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
```javascript
|
|
156
|
+
logger.section("RESULTS");
|
|
157
|
+
logger.rule("Settings", "═");
|
|
158
|
+
logger.blank(2);
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
```javascript
|
|
162
|
+
logger.banner("HexLogger\nv1.0.1");
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
```javascript
|
|
166
|
+
logger.panel(
|
|
167
|
+
"Server: online\nPing: 42ms\nUptime: 99.9%",
|
|
168
|
+
"Status",
|
|
169
|
+
50,
|
|
170
|
+
null,
|
|
171
|
+
"rounded"
|
|
172
|
+
);
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Available panel styles: `rounded`, `sharp`, `double`, `heavy`, `ascii`
|
|
176
|
+
|
|
177
|
+
```javascript
|
|
178
|
+
logger.box("Deployment complete.", 50, "double", null, null, "center");
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Available box styles: `rounded`, `sharp`, `double`, `heavy`, `ascii`, `stars`, `dashes`
|
|
182
|
+
|
|
183
|
+
```javascript
|
|
184
|
+
logger.table(
|
|
185
|
+
["Name", "Status", "Ping"],
|
|
186
|
+
[
|
|
187
|
+
["Server 1", "Online", "12ms"],
|
|
188
|
+
["Server 2", "Offline", "---"],
|
|
189
|
+
["Server 3", "Online", "45ms"],
|
|
190
|
+
]
|
|
191
|
+
);
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
```javascript
|
|
195
|
+
logger.pair("Logged in as", "MyBot#1234");
|
|
196
|
+
logger.pair("Bot ID", "987654321098765432");
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
```javascript
|
|
202
|
+
logger.gprint("Hello World!", [255, 0, 100], [100, 0, 255]);
|
|
203
|
+
logger.rbprint("Rainbow text!");
|
|
204
|
+
|
|
205
|
+
const text = logger.gtext("Custom gradient", [0, 255, 200], [255, 0, 100]);
|
|
206
|
+
const multi = logger.mgtext("Multi-stop", [[255,0,0], [0,255,0], [0,0,255]]);
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
```javascript
|
|
210
|
+
const { bold, italic, uline, clr, Colors } = require('hexlogger');
|
|
211
|
+
|
|
212
|
+
console.log(bold("Bold text"));
|
|
213
|
+
console.log(italic("Italic text"));
|
|
214
|
+
console.log(uline("Underlined text"));
|
|
215
|
+
console.log(clr("Cyan text", Colors.CYAN));
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
```javascript
|
|
219
|
+
const { rgb, bgrgb, hexclr, bghex } = require('hexlogger');
|
|
220
|
+
|
|
221
|
+
const color = rgb(255, 128, 0);
|
|
222
|
+
const bg = bgrgb(30, 30, 30);
|
|
223
|
+
const fromHex = hexclr("#FF8800");
|
|
224
|
+
const bgHex = bghex("#1E1E1E");
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
```javascript
|
|
230
|
+
const progress = new logger.Progress(100, 40, "Downloading");
|
|
231
|
+
for (let i = 1; i <= 100; i++) {
|
|
232
|
+
// ... logic
|
|
233
|
+
progress.update();
|
|
234
|
+
}
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
```javascript
|
|
240
|
+
const spinner = new logger.Spinner("Loading data...", "dots");
|
|
241
|
+
spinner.start();
|
|
242
|
+
// ... logic
|
|
243
|
+
spinner.stop("Done!");
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
Available styles: `dots`, `line`, `arrow`, `bounce`, `box`, `circle`
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
```javascript
|
|
251
|
+
const timer = new logger.Timer("Database query");
|
|
252
|
+
timer.start();
|
|
253
|
+
// ... logic
|
|
254
|
+
timer.stop();
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
```javascript
|
|
260
|
+
logger.settheme("neon");
|
|
261
|
+
logger.setstyle("modern");
|
|
262
|
+
logger.setlog("app.log");
|
|
263
|
+
logger.setlevel("warning");
|
|
264
|
+
|
|
265
|
+
const config = logger.getConfig();
|
|
266
|
+
config.timeFormat = "YYYY-MM-DD HH:mm:ss";
|
|
267
|
+
config.showTime = false;
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
Available levels: `trace`, `debug`, `info`, `success`, `warning`, `error`, `critical`, `fatal`
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
- Zero dependencies
|
|
275
|
+
- 6 built-in themes with full custom theme support
|
|
276
|
+
- 9 display styles
|
|
277
|
+
- RGB, background, and hex color helpers
|
|
278
|
+
- Gradient and rainbow text
|
|
279
|
+
- Panels, tables, banners, and boxes
|
|
280
|
+
- Progress bars with ETA
|
|
281
|
+
- Animated spinners in 6 styles
|
|
282
|
+
- Timer utility
|
|
283
|
+
- File logging with automatic ANSI stripping
|
|
284
|
+
- Thread-safe output
|
|
285
|
+
- Node.js 14+
|
|
286
|
+
- Cross-platform support (Windows, Linux, macOS)
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
MIT License — Created by Itz Montage
|
package/index.js
CHANGED
|
@@ -9,7 +9,7 @@ const { Progress, Spinner, Timer } = require("./src/progress");
|
|
|
9
9
|
const { stripAnsi, clr, bold, italic, uline } = require("./src/utils");
|
|
10
10
|
|
|
11
11
|
module.exports = {
|
|
12
|
-
__version__: "1.0.
|
|
12
|
+
__version__: "1.0.1",
|
|
13
13
|
__author__: "Montage",
|
|
14
14
|
Colors, rgb, bgrgb, hexclr, bghex,
|
|
15
15
|
Theme, THEMES, LEVEL_ICONS, LogLevel, LoggerConfig, getConfig,
|