@hestjs/logger 0.1.0 → 0.1.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 +11 -3
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +11 -4
- package/dist/logger.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
@@ -11,10 +11,8 @@
|
|
11
11
|
[](https://github.com/aqz236/hest-logger/blob/main/LICENSE)
|
12
12
|
[](https://www.typescriptlang.org/)
|
13
13
|
|
14
|
-
|
15
14
|
</div>
|
16
15
|
|
17
|
-
|
18
16
|
## ✨ Features
|
19
17
|
|
20
18
|
- 🚀 **High Performance** - Built on top of Pino, one of the fastest JSON loggers
|
@@ -27,6 +25,10 @@
|
|
27
25
|
- 🛡️ **Security First** - Built-in redaction for sensitive information
|
28
26
|
- 📦 **Framework Integration** - Seamlessly integrates with HestJS framework
|
29
27
|
|
28
|
+
|
29
|
+

|
30
|
+
|
31
|
+
|
30
32
|
## 📦 Installation
|
31
33
|
|
32
34
|
```bash
|
@@ -175,6 +177,7 @@ const logger = createLogger('MyApp', {
|
|
175
177
|
## 🎨 Output Examples
|
176
178
|
|
177
179
|
### Development Output
|
180
|
+
|
178
181
|
```
|
179
182
|
[2025-07-27 14:08:19.149] INFO (MyService): User login successful
|
180
183
|
[2025-07-27 14:08:19.150] ERROR (Auth): Invalid credentials provided
|
@@ -183,6 +186,7 @@ const logger = createLogger('MyApp', {
|
|
183
186
|
```
|
184
187
|
|
185
188
|
### Production Output
|
189
|
+
|
186
190
|
```json
|
187
191
|
{"level":30,"time":1643299699149,"name":"MyService","msg":"User login successful","requestId":"req_123456"}
|
188
192
|
{"level":50,"time":1643299699150,"name":"Auth","msg":"Invalid credentials provided","err":{"type":"AuthError","message":"Invalid username or password"}}
|
@@ -191,6 +195,7 @@ const logger = createLogger('MyApp', {
|
|
191
195
|
## 🔧 Transports
|
192
196
|
|
193
197
|
### Console Transport
|
198
|
+
|
194
199
|
```typescript
|
195
200
|
import { createConsoleTransport } from '@hest/logger';
|
196
201
|
|
@@ -201,6 +206,7 @@ const transport = createConsoleTransport({
|
|
201
206
|
```
|
202
207
|
|
203
208
|
### File Transport
|
209
|
+
|
204
210
|
```typescript
|
205
211
|
import { createFileTransport } from '@hest/logger';
|
206
212
|
|
@@ -211,6 +217,7 @@ const transport = createFileTransport({
|
|
211
217
|
```
|
212
218
|
|
213
219
|
### Rotating Files
|
220
|
+
|
214
221
|
```typescript
|
215
222
|
import { createRotatingFileTransport } from '@hest/logger';
|
216
223
|
|
@@ -225,6 +232,7 @@ const transport = createRotatingFileTransport({
|
|
225
232
|
## 🛡️ Security Features
|
226
233
|
|
227
234
|
### Automatic Redaction
|
235
|
+
|
228
236
|
```typescript
|
229
237
|
const logger = createLogger('SecureApp', {
|
230
238
|
redact: ['password', 'token', 'authorization', 'cookie']
|
@@ -238,6 +246,7 @@ logger.info('User data', {
|
|
238
246
|
```
|
239
247
|
|
240
248
|
### Safe Serialization
|
249
|
+
|
241
250
|
All serializers include error handling to prevent logging failures from crashing your application.
|
242
251
|
|
243
252
|
## 🧪 Testing
|
@@ -251,7 +260,6 @@ const testLogger = createLogger('Test', {
|
|
251
260
|
});
|
252
261
|
```
|
253
262
|
|
254
|
-
|
255
263
|
## 📊 Star History
|
256
264
|
|
257
265
|
[](https://star-history.com/#aqz236/hest-logger&Date)
|
package/dist/logger.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAElD;;GAEG;AACH,qBAAa,UAAW,YAAW,MAAM;IACvC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,UAAU,EAAE,UAAU;IAIlC;;OAEG;IACH,IAAI,IAAI,IAAI,UAAU,CAErB;IAED;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAKvC;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAO5C;;OAEG;IACH,OAAO,CAAC,cAAc;
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAElD;;GAEG;AACH,qBAAa,UAAW,YAAW,MAAM;IACvC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,UAAU,EAAE,UAAU;IAIlC;;OAEG;IACH,IAAI,IAAI,IAAI,UAAU,CAErB;IAED;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAKvC;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAO5C;;OAEG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IASpE;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IASpE;;OAEG;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IASnE;;OAEG;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IASnE;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IASpE;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IASpE;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC"}
|
package/dist/logger.js
CHANGED
@@ -37,15 +37,22 @@ class HestLogger {
|
|
37
37
|
buildLogObject(obj, message) {
|
38
38
|
const context = Object.keys(this._context).length > 0 ? this._context : undefined;
|
39
39
|
if (typeof obj === 'string') {
|
40
|
-
// logger.info('message')
|
41
|
-
|
40
|
+
// logger.info('message') 或 logger.info('message', { data })
|
41
|
+
if (message && typeof message === 'object') {
|
42
|
+
// logger.info('message', { data }) - 消息在前,数据在后
|
43
|
+
return [{ ...context, ...message }, obj];
|
44
|
+
}
|
45
|
+
else {
|
46
|
+
// logger.info('message') - 只有消息
|
47
|
+
return [context || {}, obj];
|
48
|
+
}
|
42
49
|
}
|
43
50
|
else if (obj && typeof obj === 'object') {
|
44
|
-
// logger.info({ key: 'value' }, 'message')
|
51
|
+
// logger.info({ key: 'value' }, 'message') - 数据在前,消息在后
|
45
52
|
return [{ ...context, ...obj }, message];
|
46
53
|
}
|
47
54
|
else {
|
48
|
-
// logger.info()
|
55
|
+
// logger.info() - 没有参数
|
49
56
|
return [context || {}, message];
|
50
57
|
}
|
51
58
|
}
|
package/dist/logger.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH,MAAa,UAAU;IAIrB,YAAY,UAAsB;QAF1B,aAAQ,GAAe,EAAE,CAAC;QAGhC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAmB;QAC5B,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAA6B;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;QAC9C,WAAW,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5C,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,GAAqB,EAAE,OAAgB;QAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAElF,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@hestjs/logger",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.1",
|
4
4
|
"description": "HestJS Logger - A powerful logging solution based on Pino",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"types": "dist/index.d.ts",
|
@@ -19,7 +19,7 @@
|
|
19
19
|
},
|
20
20
|
"repository": {
|
21
21
|
"type": "git",
|
22
|
-
"url": "
|
22
|
+
"url": "https://github.com/aqz236/hest-logger.git"
|
23
23
|
},
|
24
24
|
"homepage": "https://github.com/aqz236/hest-logger#readme",
|
25
25
|
"bugs": {
|