nuxt-server-log 0.1.1 → 0.1.3

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 CHANGED
@@ -62,6 +62,53 @@ export default defineNuxtConfig({
62
62
 
63
63
  That's it. Requests are now logged to the server console as JSON. ✨
64
64
 
65
+ ## Using the logger
66
+
67
+ Besides automatic per-request logging, the module exposes a `logger` you can use
68
+ anywhere in your server code (API routes, server plugins, middleware, utilities)
69
+ to emit your own structured log lines. Each entry is enriched with the active
70
+ request's `requestId`, so your logs line up with the per-request log.
71
+
72
+ The `logger` is **auto-imported** — just use it, no import needed:
73
+
74
+ ```ts
75
+ // server/api/users.get.ts
76
+ export default defineEventHandler(async () => {
77
+ logger.info("Fetching users");
78
+
79
+ try {
80
+ const users = await getUsers();
81
+ logger.debug("Users fetched", { count: users.length });
82
+ return users;
83
+ } catch (error) {
84
+ logger.error("Failed to fetch users", error as Error);
85
+ throw error;
86
+ }
87
+ });
88
+ ```
89
+
90
+ If you prefer an explicit import (or your editor's auto-import setup needs it),
91
+ import it from `#imports`:
92
+
93
+ ```ts
94
+ import { logger } from "#imports";
95
+ ```
96
+
97
+ ### Available methods
98
+
99
+ ```ts
100
+ logger.debug(message: string, data?: Record<string, unknown>);
101
+ logger.info(message: string, data?: Record<string, unknown>);
102
+ logger.warn(message: string, data?: Record<string, unknown>);
103
+ logger.error(message: string, error?: Error, data?: Record<string, unknown>);
104
+ ```
105
+
106
+ - The optional `data` object is merged into the emitted JSON, so you can attach
107
+ any structured fields you like.
108
+ - `logger.error` additionally captures the error type and stack trace (up to
109
+ `traceDepth` frames) and records it against the current request context.
110
+ - Messages below the configured `logLevel` are skipped.
111
+
65
112
  ## Configuration
66
113
 
67
114
  Configure the module under the `serverLog` key in `nuxt.config.ts`:
package/dist/module.json CHANGED
@@ -1,7 +1,10 @@
1
1
  {
2
2
  "name": "nuxt-server-log",
3
3
  "configKey": "serverLog",
4
- "version": "0.1.1",
4
+ "compatibility": {
5
+ "nuxt": ">=3.16.0"
6
+ },
7
+ "version": "0.1.3",
5
8
  "builder": {
6
9
  "@nuxt/module-builder": "1.0.2",
7
10
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -1,9 +1,12 @@
1
- import { defineNuxtModule, createResolver, addServerHandler, addServerPlugin } from 'nuxt/kit';
1
+ import { defineNuxtModule, createResolver, addServerHandler, addServerPlugin, addServerImports } from 'nuxt/kit';
2
2
 
3
3
  const module$1 = defineNuxtModule({
4
4
  meta: {
5
5
  name: "nuxt-server-log",
6
- configKey: "serverLog"
6
+ configKey: "serverLog",
7
+ compatibility: {
8
+ nuxt: ">=3.16.0"
9
+ }
7
10
  },
8
11
  defaults: {
9
12
  enabled: true,
@@ -37,6 +40,12 @@ const module$1 = defineNuxtModule({
37
40
  resolver.resolve("./runtime/server/plugins/apiInterceptor")
38
41
  );
39
42
  addServerPlugin(resolver.resolve("./runtime/server/plugins/errorLogger"));
43
+ addServerImports([
44
+ {
45
+ name: "logger",
46
+ from: resolver.resolve("./runtime/server/utils/logger")
47
+ }
48
+ ]);
40
49
  }
41
50
  });
42
51
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nuxt-server-log",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "A Nuxt module for structured server-side logging",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "packageManager": "npm@10.9.2",
10
10
  "engines": {
11
- "node": "^20.19.0 || >=22.12.0"
11
+ "node": ">=18.12.0"
12
12
  },
13
13
  "author": {
14
14
  "email": "hniakan@gmail.com",
@@ -64,10 +64,10 @@
64
64
  "test:types": "vue-tsc --noEmit && cd playground && vue-tsc --noEmit"
65
65
  },
66
66
  "peerDependencies": {
67
- "nuxt": "^4.0.0"
67
+ "nuxt": "^3.16.0 || ^4.0.0"
68
68
  },
69
69
  "dependencies": {
70
- "@nuxt/kit": "^4.4.5"
70
+ "@nuxt/kit": "^3.16.0 || ^4.0.0"
71
71
  },
72
72
  "devDependencies": {
73
73
  "@nuxt/devtools": "^3.2.4",