@veloxts/core 0.4.12 → 0.4.14
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/dist/app.d.ts.map +1 -1
- package/dist/app.js +5 -0
- package/dist/app.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/plugins/request-logger.d.ts +39 -0
- package/dist/plugins/request-logger.d.ts.map +1 -0
- package/dist/plugins/request-logger.js +135 -0
- package/dist/plugins/request-logger.js.map +1 -0
- package/package.json +1 -1
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAgB,EAAE,KAAK,eAAe,EAA6B,MAAM,SAAS,CAAC;AAInF,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,eAAe,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/app.js
CHANGED
|
@@ -9,6 +9,7 @@ import { createContext } from './context.js';
|
|
|
9
9
|
import { container } from './di/index.js';
|
|
10
10
|
import { isVeloxError, VeloxError } from './errors.js';
|
|
11
11
|
import { validatePluginMetadata } from './plugin.js';
|
|
12
|
+
import { requestLogger } from './plugins/request-logger.js';
|
|
12
13
|
import { registerStatic } from './plugins/static.js';
|
|
13
14
|
import { printBanner } from './utils/banner.js';
|
|
14
15
|
import { mergeConfig, validateConfig } from './utils/config.js';
|
|
@@ -69,6 +70,10 @@ export class VeloxApp {
|
|
|
69
70
|
this._setupErrorHandling();
|
|
70
71
|
// Set up graceful shutdown
|
|
71
72
|
this._setupGracefulShutdown();
|
|
73
|
+
// Register request logger if enabled via environment
|
|
74
|
+
if (process.env.VELOX_REQUEST_LOGGING === 'true') {
|
|
75
|
+
this._server.register(requestLogger);
|
|
76
|
+
}
|
|
72
77
|
}
|
|
73
78
|
/**
|
|
74
79
|
* Underlying Fastify server instance
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAA4D,MAAM,SAAS,CAAC;AACnF,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEhC,OAAO,EAAoB,aAAa,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAkB,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -34,4 +34,5 @@ export { isValidHost, isValidPort } from './utils/config.js';
|
|
|
34
34
|
export type { AuthContextExtension, CombineContexts, ContextExtension, CoreContext, DbContextExtension, defineContext, MergeContext, SessionContextExtension, } from './typed-context.js';
|
|
35
35
|
export type { CacheControl, StaticOptions } from './plugins/static.js';
|
|
36
36
|
export { registerStatic } from './plugins/static.js';
|
|
37
|
+
export { requestLogger } from './plugins/request-logger.js';
|
|
37
38
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,kBAAkB,CAAC;AAQ1B,gCAAgC;AAChC,eAAO,MAAM,aAAa,EAAE,MAA+C,CAAC;AAE5E,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE9D,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EAEb,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAEf,iBAAiB,EAEjB,cAAc,EAEd,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAEL,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO,EAEP,SAAS,EACT,SAAS,EACT,eAAe,EAEf,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,MAAM,EAEN,UAAU,EAEV,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EAEjB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ,EAER,KAAK,EACL,YAAY,EACZ,MAAM,EACN,eAAe,EAEf,SAAS,EAET,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,KAAK,GACN,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,kBAAkB,EAElB,IAAI,EACJ,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,cAAc,EAEd,cAAc,EACd,UAAU,EACV,aAAa,EACb,eAAe,EACf,UAAU,EACV,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAElG,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAElF,YAAY,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,cAAc,EACd,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAM7D,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAM5B,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,kBAAkB,CAAC;AAQ1B,gCAAgC;AAChC,eAAO,MAAM,aAAa,EAAE,MAA+C,CAAC;AAE5E,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE9D,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EAEb,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAEf,iBAAiB,EAEjB,cAAc,EAEd,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAEL,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO,EAEP,SAAS,EACT,SAAS,EACT,eAAe,EAEf,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,MAAM,EAEN,UAAU,EAEV,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EAEjB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ,EAER,KAAK,EACL,YAAY,EACZ,MAAM,EACN,eAAe,EAEf,SAAS,EAET,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,KAAK,GACN,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,kBAAkB,EAElB,IAAI,EACJ,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,cAAc,EAEd,cAAc,EACd,UAAU,EACV,aAAa,EACb,eAAe,EACf,UAAU,EACV,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAElG,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAElF,YAAY,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,cAAc,EACd,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAM7D,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAM5B,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -55,4 +55,8 @@ logDeprecation, logWarning, NotFoundError, ValidationError, VeloxError, VeloxFai
|
|
|
55
55
|
export { definePlugin, isVeloxPlugin, validatePluginMetadata } from './plugin.js';
|
|
56
56
|
export { isValidHost, isValidPort } from './utils/config.js';
|
|
57
57
|
export { registerStatic } from './plugins/static.js';
|
|
58
|
+
// ============================================================================
|
|
59
|
+
// Request Logging (Development)
|
|
60
|
+
// ============================================================================
|
|
61
|
+
export { requestLogger } from './plugins/request-logger.js';
|
|
58
62
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,gDAAgD;AAChD,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,6CAA6C;AAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,gCAAgC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAW,WAAW,CAAC,OAAO,IAAI,eAAe,CAAC;AAG5E,yBAAyB;AACzB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAqB1E,uBAAuB;AACvB,OAAO;AACL,4BAA4B;AAC5B,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO;AACP,YAAY;AACZ,SAAS,EACT,SAAS,EACT,eAAe;AACf,+BAA+B;AAC/B,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,MAAM;AACN,aAAa;AACb,UAAU;AACV,uBAAuB;AACvB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB;AACjB,sBAAsB;AACtB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ;AACR,QAAQ;AACR,KAAK,EACL,YAAY,EACZ,MAAM,EACN,eAAe;AACf,kCAAkC;AAClC,SAAS;AACT,wBAAwB;AACxB,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,KAAK,GACN,MAAM,eAAe,CAAC;AAavB,OAAO,EACL,WAAW,EACX,kBAAkB;AAClB,6BAA6B;AAC7B,IAAI,EACJ,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,cAAc;AACd,iCAAiC;AACjC,cAAc,EACd,UAAU,EACV,aAAa,EACb,eAAe,EACf,UAAU,EACV,YAAY,GACb,MAAM,aAAa,CAAC;AAErB,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAoBlF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAsB7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,gDAAgD;AAChD,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,6CAA6C;AAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,gCAAgC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAW,WAAW,CAAC,OAAO,IAAI,eAAe,CAAC;AAG5E,yBAAyB;AACzB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAqB1E,uBAAuB;AACvB,OAAO;AACL,4BAA4B;AAC5B,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO;AACP,YAAY;AACZ,SAAS,EACT,SAAS,EACT,eAAe;AACf,+BAA+B;AAC/B,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,MAAM;AACN,aAAa;AACb,UAAU;AACV,uBAAuB;AACvB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB;AACjB,sBAAsB;AACtB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ;AACR,QAAQ;AACR,KAAK,EACL,YAAY,EACZ,MAAM,EACN,eAAe;AACf,kCAAkC;AAClC,SAAS;AACT,wBAAwB;AACxB,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,KAAK,GACN,MAAM,eAAe,CAAC;AAavB,OAAO,EACL,WAAW,EACX,kBAAkB;AAClB,6BAA6B;AAC7B,IAAI,EACJ,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,cAAc;AACd,iCAAiC;AACjC,cAAc,EACd,UAAU,EACV,aAAa,EACb,eAAe,EACf,UAAU,EACV,YAAY,GACb,MAAM,aAAa,CAAC;AAErB,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAoBlF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAsB7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request Logger Plugin
|
|
3
|
+
*
|
|
4
|
+
* Provides pretty-printed request/response logging for development.
|
|
5
|
+
* Outputs colored, timestamped request logs with duration.
|
|
6
|
+
*
|
|
7
|
+
* @module plugins/request-logger
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```
|
|
11
|
+
* 12:34:58 GET /api/users 200 12ms
|
|
12
|
+
* 12:35:01 POST /api/users 201 45ms
|
|
13
|
+
* 12:35:02 GET /api/users/abc 404 2ms
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* Enable via environment variable:
|
|
17
|
+
* ```
|
|
18
|
+
* VELOX_REQUEST_LOGGING=true
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
import type { FastifyInstance } from 'fastify';
|
|
22
|
+
/**
|
|
23
|
+
* Request logger plugin registration function.
|
|
24
|
+
*
|
|
25
|
+
* Adds hooks for request timing and colored console output.
|
|
26
|
+
* Only active when VELOX_REQUEST_LOGGING=true.
|
|
27
|
+
*
|
|
28
|
+
* @param server - Fastify instance
|
|
29
|
+
*/
|
|
30
|
+
declare function requestLoggerPlugin(server: FastifyInstance): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Request logger plugin with Fastify plugin metadata.
|
|
33
|
+
*
|
|
34
|
+
* Provides pretty-printed request/response logging for development.
|
|
35
|
+
* Enable via VELOX_REQUEST_LOGGING=true environment variable.
|
|
36
|
+
*/
|
|
37
|
+
export declare const requestLogger: typeof requestLoggerPlugin;
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=request-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-logger.d.ts","sourceRoot":"","sources":["../../src/plugins/request-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAkF7E;;;;;;;GAOG;AACH,iBAAe,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BzE;AAMD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,4BAGxB,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request Logger Plugin
|
|
3
|
+
*
|
|
4
|
+
* Provides pretty-printed request/response logging for development.
|
|
5
|
+
* Outputs colored, timestamped request logs with duration.
|
|
6
|
+
*
|
|
7
|
+
* @module plugins/request-logger
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```
|
|
11
|
+
* 12:34:58 GET /api/users 200 12ms
|
|
12
|
+
* 12:35:01 POST /api/users 201 45ms
|
|
13
|
+
* 12:35:02 GET /api/users/abc 404 2ms
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* Enable via environment variable:
|
|
17
|
+
* ```
|
|
18
|
+
* VELOX_REQUEST_LOGGING=true
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
import fp from 'fastify-plugin';
|
|
22
|
+
// ============================================================================
|
|
23
|
+
// Constants
|
|
24
|
+
// ============================================================================
|
|
25
|
+
/** ANSI escape codes for terminal colors */
|
|
26
|
+
const COLORS = {
|
|
27
|
+
reset: '\x1b[0m',
|
|
28
|
+
dim: '\x1b[2m',
|
|
29
|
+
red: '\x1b[31m',
|
|
30
|
+
green: '\x1b[32m',
|
|
31
|
+
yellow: '\x1b[33m',
|
|
32
|
+
cyan: '\x1b[36m',
|
|
33
|
+
white: '\x1b[37m',
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Padding width for HTTP method alignment.
|
|
37
|
+
* Longest standard method is "OPTIONS" (7 characters).
|
|
38
|
+
*/
|
|
39
|
+
const HTTP_METHOD_PAD_WIDTH = 7;
|
|
40
|
+
// ============================================================================
|
|
41
|
+
// Helper Functions
|
|
42
|
+
// ============================================================================
|
|
43
|
+
/**
|
|
44
|
+
* Get color for HTTP status code.
|
|
45
|
+
*
|
|
46
|
+
* @param code - HTTP status code
|
|
47
|
+
* @returns ANSI color escape code
|
|
48
|
+
*/
|
|
49
|
+
function getStatusColor(code) {
|
|
50
|
+
if (code >= 500)
|
|
51
|
+
return COLORS.red;
|
|
52
|
+
if (code >= 400)
|
|
53
|
+
return COLORS.yellow;
|
|
54
|
+
if (code >= 300)
|
|
55
|
+
return COLORS.cyan;
|
|
56
|
+
if (code >= 200)
|
|
57
|
+
return COLORS.green;
|
|
58
|
+
return COLORS.white;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Format current time as HH:MM:SS.
|
|
62
|
+
*
|
|
63
|
+
* @returns Formatted time string
|
|
64
|
+
*/
|
|
65
|
+
function formatTime() {
|
|
66
|
+
return new Date().toLocaleTimeString('en-US', {
|
|
67
|
+
hour12: false,
|
|
68
|
+
hour: '2-digit',
|
|
69
|
+
minute: '2-digit',
|
|
70
|
+
second: '2-digit',
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Format duration for display.
|
|
75
|
+
*
|
|
76
|
+
* @param ms - Duration in milliseconds
|
|
77
|
+
* @returns Formatted duration string
|
|
78
|
+
*/
|
|
79
|
+
function formatDuration(ms) {
|
|
80
|
+
if (ms < 1000)
|
|
81
|
+
return `${Math.round(ms)}ms`;
|
|
82
|
+
return `${(ms / 1000).toFixed(2)}s`;
|
|
83
|
+
}
|
|
84
|
+
// ============================================================================
|
|
85
|
+
// Plugin Implementation
|
|
86
|
+
// ============================================================================
|
|
87
|
+
/**
|
|
88
|
+
* Request logger plugin registration function.
|
|
89
|
+
*
|
|
90
|
+
* Adds hooks for request timing and colored console output.
|
|
91
|
+
* Only active when VELOX_REQUEST_LOGGING=true.
|
|
92
|
+
*
|
|
93
|
+
* @param server - Fastify instance
|
|
94
|
+
*/
|
|
95
|
+
async function requestLoggerPlugin(server) {
|
|
96
|
+
// Skip if request logging not enabled via environment
|
|
97
|
+
if (process.env.VELOX_REQUEST_LOGGING !== 'true') {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
// Track request start time
|
|
101
|
+
server.addHook('onRequest', async (request) => {
|
|
102
|
+
request._veloxStartTime = performance.now();
|
|
103
|
+
});
|
|
104
|
+
// Log on response with timing
|
|
105
|
+
server.addHook('onResponse', async (request, reply) => {
|
|
106
|
+
// Wrap in try-catch to ensure logging never breaks request handling
|
|
107
|
+
try {
|
|
108
|
+
const startTime = request._veloxStartTime;
|
|
109
|
+
const duration = startTime ? performance.now() - startTime : 0;
|
|
110
|
+
const timestamp = formatTime();
|
|
111
|
+
const method = request.method.padEnd(HTTP_METHOD_PAD_WIDTH);
|
|
112
|
+
const url = request.url;
|
|
113
|
+
const status = reply.statusCode;
|
|
114
|
+
const color = getStatusColor(status);
|
|
115
|
+
console.log(`${COLORS.dim}${timestamp}${COLORS.reset} ${color}${method}${COLORS.reset} ${url} ${color}${status}${COLORS.reset} ${COLORS.dim}${formatDuration(duration)}${COLORS.reset}`);
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
// Silently fail - logging should never affect application behavior
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
// ============================================================================
|
|
123
|
+
// Export
|
|
124
|
+
// ============================================================================
|
|
125
|
+
/**
|
|
126
|
+
* Request logger plugin with Fastify plugin metadata.
|
|
127
|
+
*
|
|
128
|
+
* Provides pretty-printed request/response logging for development.
|
|
129
|
+
* Enable via VELOX_REQUEST_LOGGING=true environment variable.
|
|
130
|
+
*/
|
|
131
|
+
export const requestLogger = fp(requestLoggerPlugin, {
|
|
132
|
+
name: 'velox-request-logger',
|
|
133
|
+
fastify: '5.x',
|
|
134
|
+
});
|
|
135
|
+
//# sourceMappingURL=request-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-logger.js","sourceRoot":"","sources":["../../src/plugins/request-logger.ts"],"names":[],"mappings":"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"}
|