@mastra/loggers 0.1.24-alpha.0 → 0.2.0-alpha.2

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.
@@ -1,5 +1,8 @@
1
1
  import type { BaseLogMessage } from '@mastra/core/logger';
2
2
  import { LoggerTransport } from '@mastra/core/logger';
3
+ import { LogLevel } from '@mastra/core/logger';
4
+ import { MastraLogger } from '@mastra/core/logger';
5
+ import pino from 'pino';
3
6
  import type { WriteStream } from 'fs';
4
7
 
5
8
  export declare class FileTransport extends LoggerTransport {
@@ -18,6 +21,27 @@ export declare class FileTransport extends LoggerTransport {
18
21
  }): Promise<BaseLogMessage[]>;
19
22
  }
20
23
 
24
+ export { LogLevel }
25
+ export { LogLevel as LogLevel_alias_1 }
26
+
27
+ declare class PinoLogger extends MastraLogger {
28
+ protected logger: pino.Logger;
29
+ constructor(options?: {
30
+ name?: string;
31
+ level?: LogLevel;
32
+ transports?: TransportMap;
33
+ overrideDefaultTransports?: boolean;
34
+ });
35
+ debug(message: string, args?: Record<string, any>): void;
36
+ info(message: string, args?: Record<string, any>): void;
37
+ warn(message: string, args?: Record<string, any>): void;
38
+ error(message: string, args?: Record<string, any>): void;
39
+ }
40
+ export { PinoLogger }
41
+ export { PinoLogger as PinoLogger_alias_1 }
42
+
43
+ declare type TransportMap = Record<string, LoggerTransport>;
44
+
21
45
  export declare class UpstashTransport extends LoggerTransport {
22
46
  upstashUrl: string;
23
47
  upstashToken: string;
@@ -1,5 +1,8 @@
1
1
  import type { BaseLogMessage } from '@mastra/core/logger';
2
2
  import { LoggerTransport } from '@mastra/core/logger';
3
+ import { LogLevel } from '@mastra/core/logger';
4
+ import { MastraLogger } from '@mastra/core/logger';
5
+ import pino from 'pino';
3
6
  import type { WriteStream } from 'fs';
4
7
 
5
8
  export declare class FileTransport extends LoggerTransport {
@@ -18,6 +21,27 @@ export declare class FileTransport extends LoggerTransport {
18
21
  }): Promise<BaseLogMessage[]>;
19
22
  }
20
23
 
24
+ export { LogLevel }
25
+ export { LogLevel as LogLevel_alias_1 }
26
+
27
+ declare class PinoLogger extends MastraLogger {
28
+ protected logger: pino.Logger;
29
+ constructor(options?: {
30
+ name?: string;
31
+ level?: LogLevel;
32
+ transports?: TransportMap;
33
+ overrideDefaultTransports?: boolean;
34
+ });
35
+ debug(message: string, args?: Record<string, any>): void;
36
+ info(message: string, args?: Record<string, any>): void;
37
+ warn(message: string, args?: Record<string, any>): void;
38
+ error(message: string, args?: Record<string, any>): void;
39
+ }
40
+ export { PinoLogger }
41
+ export { PinoLogger as PinoLogger_alias_1 }
42
+
43
+ declare type TransportMap = Record<string, LoggerTransport>;
44
+
21
45
  export declare class UpstashTransport extends LoggerTransport {
22
46
  upstashUrl: string;
23
47
  upstashToken: string;
package/dist/index.cjs ADDED
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ var logger = require('@mastra/core/logger');
4
+ var pino = require('pino');
5
+ var pretty = require('pino-pretty');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var pino__default = /*#__PURE__*/_interopDefault(pino);
10
+ var pretty__default = /*#__PURE__*/_interopDefault(pretty);
11
+
12
+ // src/pino.ts
13
+ var PinoLogger = class extends logger.MastraLogger {
14
+ logger;
15
+ constructor(options = {}) {
16
+ super(options);
17
+ let prettyStream = void 0;
18
+ if (!options.overrideDefaultTransports) {
19
+ prettyStream = pretty__default.default({
20
+ colorize: true,
21
+ levelFirst: true,
22
+ ignore: "pid,hostname",
23
+ colorizeObjects: true,
24
+ translateTime: "SYS:standard",
25
+ singleLine: false
26
+ });
27
+ }
28
+ const transportsAry = [...this.getTransports().entries()];
29
+ this.logger = pino__default.default(
30
+ {
31
+ name: options.name || "app",
32
+ level: options.level || logger.LogLevel.INFO,
33
+ formatters: {
34
+ level: (label) => ({ level: label })
35
+ }
36
+ },
37
+ options.overrideDefaultTransports ? options?.transports?.default : transportsAry.length === 0 ? prettyStream : pino__default.default.multistream([
38
+ ...transportsAry.map(([, transport]) => ({
39
+ stream: transport,
40
+ level: options.level || logger.LogLevel.INFO
41
+ })),
42
+ {
43
+ stream: prettyStream,
44
+ level: options.level || logger.LogLevel.INFO
45
+ }
46
+ ])
47
+ );
48
+ }
49
+ debug(message, args = {}) {
50
+ this.logger.debug(args, message);
51
+ }
52
+ info(message, args = {}) {
53
+ this.logger.info(args, message);
54
+ }
55
+ warn(message, args = {}) {
56
+ this.logger.warn(args, message);
57
+ }
58
+ error(message, args = {}) {
59
+ this.logger.error(args, message);
60
+ }
61
+ };
62
+
63
+ exports.PinoLogger = PinoLogger;
@@ -0,0 +1,2 @@
1
+ export { PinoLogger } from './_tsup-dts-rollup.cjs';
2
+ export { LogLevel } from './_tsup-dts-rollup.cjs';
@@ -0,0 +1,2 @@
1
+ export { PinoLogger } from './_tsup-dts-rollup.js';
2
+ export { LogLevel } from './_tsup-dts-rollup.js';
package/dist/index.js ADDED
@@ -0,0 +1,56 @@
1
+ import { MastraLogger, LogLevel } from '@mastra/core/logger';
2
+ import pino from 'pino';
3
+ import pretty from 'pino-pretty';
4
+
5
+ // src/pino.ts
6
+ var PinoLogger = class extends MastraLogger {
7
+ logger;
8
+ constructor(options = {}) {
9
+ super(options);
10
+ let prettyStream = void 0;
11
+ if (!options.overrideDefaultTransports) {
12
+ prettyStream = pretty({
13
+ colorize: true,
14
+ levelFirst: true,
15
+ ignore: "pid,hostname",
16
+ colorizeObjects: true,
17
+ translateTime: "SYS:standard",
18
+ singleLine: false
19
+ });
20
+ }
21
+ const transportsAry = [...this.getTransports().entries()];
22
+ this.logger = pino(
23
+ {
24
+ name: options.name || "app",
25
+ level: options.level || LogLevel.INFO,
26
+ formatters: {
27
+ level: (label) => ({ level: label })
28
+ }
29
+ },
30
+ options.overrideDefaultTransports ? options?.transports?.default : transportsAry.length === 0 ? prettyStream : pino.multistream([
31
+ ...transportsAry.map(([, transport]) => ({
32
+ stream: transport,
33
+ level: options.level || LogLevel.INFO
34
+ })),
35
+ {
36
+ stream: prettyStream,
37
+ level: options.level || LogLevel.INFO
38
+ }
39
+ ])
40
+ );
41
+ }
42
+ debug(message, args = {}) {
43
+ this.logger.debug(args, message);
44
+ }
45
+ info(message, args = {}) {
46
+ this.logger.info(args, message);
47
+ }
48
+ warn(message, args = {}) {
49
+ this.logger.warn(args, message);
50
+ }
51
+ error(message, args = {}) {
52
+ this.logger.error(args, message);
53
+ }
54
+ };
55
+
56
+ export { PinoLogger };
@@ -106,13 +106,13 @@ var UpstashTransport = class extends logger.LoggerTransport {
106
106
  try {
107
107
  const command = ["LRANGE", this.listName, 0, -1];
108
108
  const response = await this.executeUpstashCommand(command);
109
- return response?.[0]?.result.map((log) => {
109
+ return response?.[0]?.result?.map((log) => {
110
110
  try {
111
111
  return JSON.parse(log);
112
112
  } catch {
113
- return "";
113
+ return {};
114
114
  }
115
- });
115
+ }) || [];
116
116
  } catch (error) {
117
117
  console.error("Error getting logs from Upstash:", error);
118
118
  return [];
@@ -121,7 +121,7 @@ var UpstashTransport = class extends logger.LoggerTransport {
121
121
  async getLogsByRunId({ runId }) {
122
122
  try {
123
123
  const allLogs = await this.getLogs();
124
- const logs = allLogs.filter((log) => log.runId === runId) || [];
124
+ const logs = allLogs?.filter((log) => log.runId === runId) || [];
125
125
  return logs;
126
126
  } catch (error) {
127
127
  console.error("Error getting logs by runId from Upstash:", error);
@@ -104,13 +104,13 @@ var UpstashTransport = class extends LoggerTransport {
104
104
  try {
105
105
  const command = ["LRANGE", this.listName, 0, -1];
106
106
  const response = await this.executeUpstashCommand(command);
107
- return response?.[0]?.result.map((log) => {
107
+ return response?.[0]?.result?.map((log) => {
108
108
  try {
109
109
  return JSON.parse(log);
110
110
  } catch {
111
- return "";
111
+ return {};
112
112
  }
113
- });
113
+ }) || [];
114
114
  } catch (error) {
115
115
  console.error("Error getting logs from Upstash:", error);
116
116
  return [];
@@ -119,7 +119,7 @@ var UpstashTransport = class extends LoggerTransport {
119
119
  async getLogsByRunId({ runId }) {
120
120
  try {
121
121
  const allLogs = await this.getLogs();
122
- const logs = allLogs.filter((log) => log.runId === runId) || [];
122
+ const logs = allLogs?.filter((log) => log.runId === runId) || [];
123
123
  return logs;
124
124
  } catch (error) {
125
125
  console.error("Error getting logs by runId from Upstash:", error);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/loggers",
3
- "version": "0.1.24-alpha.0",
3
+ "version": "0.2.0-alpha.2",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "files": [
@@ -45,7 +45,8 @@
45
45
  "author": "",
46
46
  "license": "Elastic-2.0",
47
47
  "dependencies": {
48
- "@mastra/core": "^0.9.5-alpha.0"
48
+ "pino": "^9.7.0",
49
+ "pino-pretty": "^13.0.0"
49
50
  },
50
51
  "devDependencies": {
51
52
  "@microsoft/api-extractor": "^7.52.5",
@@ -54,10 +55,14 @@
54
55
  "tsup": "^8.4.0",
55
56
  "typescript": "^5.8.2",
56
57
  "vitest": "^3.1.2",
57
- "@internal/lint": "0.0.5"
58
+ "@internal/lint": "0.0.5",
59
+ "@mastra/core": "0.10.0-alpha.1"
60
+ },
61
+ "peerDependencies": {
62
+ "@mastra/core": "^0.9.4"
58
63
  },
59
64
  "scripts": {
60
- "build": "tsup src/file/index.ts src/upstash/index.ts --format esm,cjs --experimental-dts --clean --treeshake=smallest --splitting",
65
+ "build": "tsup src/index.ts src/file/index.ts src/upstash/index.ts --format esm,cjs --experimental-dts --clean --treeshake=smallest --splitting",
61
66
  "build:watch": "pnpm build --watch",
62
67
  "test": "vitest run",
63
68
  "lint": "eslint ."