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.
Files changed (3) hide show
  1. package/README.md +290 -0
  2. package/index.js +1 -1
  3. 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.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,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hexlogger",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Premium console logging library with themes, gradients, panels, tables, progress bars, and spinners.",
5
5
  "main": "index.js",
6
6
  "exports": {