@platformatic/runtime 1.24.0 → 1.25.0

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.
@@ -23,5 +23,10 @@
23
23
  "config": "platformatic.db.json"
24
24
  }
25
25
  }
26
+ },
27
+ "server": {
28
+ "logger": {
29
+ "level": "trace"
30
+ }
26
31
  }
27
32
  }
@@ -6,5 +6,9 @@
6
6
  "autoload": {
7
7
  "path": "./services"
8
8
  },
9
+ "server": {
10
+ "hostname": "127.0.0.1",
11
+ "port": 0
12
+ },
9
13
  "managementApi": true
10
14
  }
@@ -1,13 +1,5 @@
1
1
  {
2
2
  "$schema": "https://platformatic.dev/schemas/v1.22.0/service",
3
- "server": {
4
- "hostname": "127.0.0.1",
5
- "port": 0,
6
- "logger": {
7
- "name": "service-with-logger",
8
- "level": "trace"
9
- }
10
- },
11
3
  "service": {
12
4
  "openapi": true
13
5
  },
@@ -1,9 +1,5 @@
1
1
  {
2
2
  "$schema": "https://platformatic.dev/schemas/v1.22.0/service",
3
- "server": {
4
- "hostname": "127.0.0.1",
5
- "port": 0
6
- },
7
3
  "service": {
8
4
  "openapi": true
9
5
  },
package/lib/api.js CHANGED
@@ -61,8 +61,6 @@ class RuntimeApi {
61
61
  if (this.#dispatcher) {
62
62
  await this.#dispatcher.close()
63
63
  }
64
- await this.stopServices()
65
-
66
64
  setImmediate(process.exit) // Exit the worker thread.
67
65
  return
68
66
  }
package/lib/app.js CHANGED
@@ -248,10 +248,12 @@ class PlatformaticApp {
248
248
  }
249
249
 
250
250
  #setuplogger (configManager) {
251
- // Set the logger if not present
252
251
  configManager.current.server = configManager.current.server || {}
253
- const childLogger = this.#logger.child({}, { level: configManager.current.server.logger?.level || 'info' })
254
- configManager.current.server.logger = childLogger
252
+ const level = configManager.current.server.logger?.level
253
+
254
+ configManager.current.server.logger = level
255
+ ? this.#logger.child({ level })
256
+ : this.#logger
255
257
  }
256
258
 
257
259
  #startFileWatching () {
@@ -4,21 +4,11 @@ const { tmpdir, platform } = require('node:os')
4
4
  const { join } = require('node:path')
5
5
  const { readFile, mkdir, unlink } = require('node:fs/promises')
6
6
  const fastify = require('fastify')
7
- const { prettyFactory } = require('pino-pretty')
8
7
  const errors = require('./errors')
9
8
  const platformaticVersion = require('../package.json').version
10
9
 
11
10
  const PLATFORMATIC_TMP_DIR = join(tmpdir(), 'platformatic', 'pids')
12
11
 
13
- const pinoLogLevels = {
14
- fatal: 60,
15
- error: 50,
16
- warn: 40,
17
- info: 30,
18
- debug: 20,
19
- trace: 10
20
- }
21
-
22
12
  async function createManagementApi (configManager, runtimeApiClient, loggingPort) {
23
13
  let apiConfig = configManager.current.managementApi
24
14
  if (!apiConfig || apiConfig === true) {
@@ -129,26 +119,9 @@ async function createManagementApi (configManager, runtimeApiClient, loggingPort
129
119
  })
130
120
 
131
121
  app.get('/logs', { websocket: true }, async (connection, req) => {
132
- const logLevel = req.query.level || 'info'
133
- const pretty = req.query.pretty !== 'false'
134
- const serviceId = req.query.serviceId || null
135
-
136
- const logLevelNumber = pinoLogLevels[logLevel]
137
- const prettify = prettyFactory()
138
-
139
122
  const handler = (message) => {
140
- for (let log of message.logs) {
141
- try {
142
- const parsedLog = JSON.parse(log)
143
- if (parsedLog.level < logLevelNumber) continue
144
- if (serviceId && parsedLog.name !== serviceId) continue
145
- if (pretty) {
146
- log = prettify(parsedLog)
147
- }
148
- connection.socket.send(log)
149
- } catch (err) {
150
- console.error('Failed to parse log message: ', log, err)
151
- }
123
+ for (const log of message.logs) {
124
+ connection.socket.send(log)
152
125
  }
153
126
  }
154
127
 
@@ -163,7 +136,7 @@ async function createManagementApi (configManager, runtimeApiClient, loggingPort
163
136
  loggingPort.off('message', handler)
164
137
  })
165
138
  })
166
- }, { prefix: '/api' })
139
+ }, { prefix: '/api/v1' })
167
140
 
168
141
  return app
169
142
  }
package/lib/worker.js CHANGED
@@ -34,14 +34,7 @@ globalThis.fetch = undici.fetch
34
34
 
35
35
  const config = workerData.config
36
36
 
37
- let loggerConfig = config.server?.logger
38
-
39
- if (loggerConfig) {
40
- loggerConfig = { ...loggerConfig }
41
- } else {
42
- loggerConfig = {}
43
- }
44
-
37
+ const loggerConfig = { ...config.server?.logger }
45
38
  const cliStream = isatty(1) ? pretty() : pino.destination(1)
46
39
 
47
40
  let logger = null
@@ -54,6 +47,10 @@ if (config.loggingPort) {
54
47
  { stream: portStream, level: 'trace' },
55
48
  { stream: cliStream, level: loggerConfig.level || 'info' }
56
49
  ])
50
+ if (loggerConfig.transport) {
51
+ const transport = pino.transport(loggerConfig.transport)
52
+ multiStream.add({ level: loggerConfig.level || 'info', stream: transport })
53
+ }
57
54
  logger = pino({ level: 'trace' }, multiStream)
58
55
  } else {
59
56
  logger = pino(loggerConfig, cliStream)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platformatic/runtime",
3
- "version": "1.24.0",
3
+ "version": "1.25.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -32,8 +32,8 @@
32
32
  "typescript": "^5.3.3",
33
33
  "undici-oauth-interceptor": "^0.4.2",
34
34
  "ws": "^8.16.0",
35
- "@platformatic/sql-graphql": "1.24.0",
36
- "@platformatic/sql-mapper": "1.24.0"
35
+ "@platformatic/sql-mapper": "1.25.0",
36
+ "@platformatic/sql-graphql": "1.25.0"
37
37
  },
38
38
  "dependencies": {
39
39
  "@fastify/error": "^3.4.1",
@@ -55,13 +55,13 @@
55
55
  "pino-pretty": "^10.3.1",
56
56
  "undici": "^6.6.0",
57
57
  "why-is-node-running": "^2.2.2",
58
- "@platformatic/composer": "1.24.0",
59
- "@platformatic/config": "1.24.0",
60
- "@platformatic/db": "1.24.0",
61
- "@platformatic/generators": "1.24.0",
62
- "@platformatic/service": "1.24.0",
63
- "@platformatic/telemetry": "1.24.0",
64
- "@platformatic/utils": "1.24.0"
58
+ "@platformatic/composer": "1.25.0",
59
+ "@platformatic/config": "1.25.0",
60
+ "@platformatic/generators": "1.25.0",
61
+ "@platformatic/service": "1.25.0",
62
+ "@platformatic/telemetry": "1.25.0",
63
+ "@platformatic/db": "1.25.0",
64
+ "@platformatic/utils": "1.25.0"
65
65
  },
66
66
  "standard": {
67
67
  "ignore": [