@mastra/loggers 1.3.3 → 1.3.4-alpha.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.
@@ -3,7 +3,7 @@ name: mastra-loggers
3
3
  description: Documentation for @mastra/loggers. Use when working with @mastra/loggers APIs, configuration, or implementation.
4
4
  metadata:
5
5
  package: "@mastra/loggers"
6
- version: "1.3.3"
6
+ version: "1.3.4-alpha.0"
7
7
  ---
8
8
 
9
9
  ## When to use
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.3.3",
2
+ "version": "1.3.4-alpha.0",
3
3
  "package": "@mastra/loggers",
4
4
  "exports": {},
5
5
  "modules": {}
@@ -47,7 +47,13 @@ var FileTransport = class extends _mastra_core_logger.LoggerTransport {
47
47
  const page = pageInput === 0 ? 1 : pageInput ?? 1;
48
48
  const perPage = perPageInput ?? 100;
49
49
  const returnPaginationResults = returnPaginationResultsInput ?? true;
50
- let filteredLogs = (0, fs.readFileSync)(this.path, "utf8").split("\n").filter(Boolean).map((log) => JSON.parse(log)).filter((record) => record !== null && typeof record === "object");
50
+ let filteredLogs = (0, fs.readFileSync)(this.path, "utf8").split("\n").filter(Boolean).flatMap((line) => {
51
+ try {
52
+ return [JSON.parse(line)];
53
+ } catch {
54
+ return [];
55
+ }
56
+ }).filter((record) => record !== null && typeof record === "object");
51
57
  if (filters) filteredLogs = filteredLogs.filter((log) => Object.entries(filters || {}).every(([key, value]) => log[key] === value));
52
58
  if (logLevel) filteredLogs = filteredLogs.filter((log) => log.level === logLevel);
53
59
  if (fromDate) filteredLogs = filteredLogs.filter((log) => new Date(log.time).getTime() >= fromDate.getTime());
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["LoggerTransport"],"sources":["../../src/file/index.ts"],"sourcesContent":["import type { WriteStream } from 'node:fs';\nimport { createWriteStream, existsSync, readFileSync } from 'node:fs';\nimport { LoggerTransport } from '@mastra/core/logger';\nimport type { BaseLogMessage, LogLevel } from '@mastra/core/logger';\n\nexport class FileTransport extends LoggerTransport {\n path: string;\n fileStream: WriteStream;\n constructor({ path }: { path: string }) {\n super({ objectMode: true });\n this.path = path;\n\n if (!existsSync(this.path)) {\n console.info(this.path);\n throw new Error('File path does not exist');\n }\n\n this.fileStream = createWriteStream(this.path, { flags: 'a' });\n }\n\n _transform(chunk: any, _encoding: string, callback: (error: Error | null, chunk: any) => void) {\n try {\n this.fileStream.write(chunk);\n } catch (error) {\n console.error('Error parsing log entry:', error);\n }\n callback(null, chunk);\n }\n\n _flush(callback: Function) {\n // End the file stream when transform stream ends\n this.fileStream.end(() => {\n callback();\n });\n }\n\n _write(chunk: any, encoding?: string, callback?: (error?: Error | null) => void): boolean {\n if (typeof callback === 'function') {\n this._transform(chunk, encoding || 'utf8', callback);\n return true;\n }\n\n this._transform(chunk, encoding || 'utf8', (error: Error | null) => {\n if (error) console.error('Transform error in write:', error);\n });\n return true;\n }\n\n // Clean up resources\n _destroy(error: Error, callback: Function) {\n if (this.fileStream) {\n this.fileStream.destroy(error);\n }\n callback(error);\n }\n\n async listLogs(params?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n returnPaginationResults?: boolean; // default true\n page?: number;\n perPage?: number;\n }): Promise<{\n logs: BaseLogMessage[];\n total: number;\n page: number;\n perPage: number;\n hasMore: boolean;\n }> {\n try {\n const {\n fromDate,\n toDate,\n logLevel,\n filters,\n returnPaginationResults: returnPaginationResultsInput,\n page: pageInput,\n perPage: perPageInput,\n } = params || {};\n\n const page = pageInput === 0 ? 1 : (pageInput ?? 1);\n const perPage = perPageInput ?? 100;\n const returnPaginationResults = returnPaginationResultsInput ?? true;\n\n const logs = readFileSync(this.path, 'utf8')\n .split('\\n')\n .filter(Boolean)\n .map(log => JSON.parse(log));\n\n let filteredLogs = logs.filter(record => record !== null && typeof record === 'object');\n\n if (filters) {\n filteredLogs = filteredLogs.filter(log =>\n Object.entries(filters || {}).every(([key, value]) => log[key as keyof BaseLogMessage] === value),\n );\n }\n\n if (logLevel) {\n filteredLogs = filteredLogs.filter(log => log.level === logLevel);\n }\n\n if (fromDate) {\n filteredLogs = filteredLogs.filter(log => new Date(log.time)?.getTime() >= fromDate!.getTime());\n }\n\n if (toDate) {\n filteredLogs = filteredLogs.filter(log => new Date(log.time)?.getTime() <= toDate!.getTime());\n }\n\n if (!returnPaginationResults) {\n return {\n logs: filteredLogs,\n total: filteredLogs.length,\n page,\n perPage: filteredLogs.length,\n hasMore: false,\n };\n }\n\n const total = filteredLogs.length;\n const resolvedPerPage = perPage || 100;\n const start = (page - 1) * resolvedPerPage;\n const end = start + resolvedPerPage;\n const paginatedLogs = filteredLogs.slice(start, end);\n const hasMore = end < total;\n\n return {\n logs: paginatedLogs,\n total,\n page,\n perPage: resolvedPerPage,\n hasMore,\n };\n } catch (error) {\n console.error('Error getting logs from file:', error);\n return {\n logs: [],\n total: 0,\n page: 0,\n perPage: 0,\n hasMore: false,\n };\n }\n }\n\n async listLogsByRunId({\n runId,\n fromDate,\n toDate,\n logLevel,\n filters,\n page: pageInput,\n perPage: perPageInput,\n }: {\n runId: string;\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n }): Promise<{\n logs: BaseLogMessage[];\n total: number;\n page: number;\n perPage: number;\n hasMore: boolean;\n }> {\n try {\n const page = pageInput === 0 ? 1 : (pageInput ?? 1);\n const perPage = perPageInput ?? 100;\n const allLogs = await this.listLogs({ fromDate, toDate, logLevel, filters });\n const logs = (allLogs?.logs?.filter(log => log?.runId === runId) || []) as BaseLogMessage[];\n const total = logs.length;\n const resolvedPerPage = perPage || 100;\n const start = (page - 1) * resolvedPerPage;\n const end = start + resolvedPerPage;\n const paginatedLogs = logs.slice(start, end);\n const hasMore = end < total;\n\n return {\n logs: paginatedLogs,\n total,\n page,\n perPage: resolvedPerPage,\n hasMore,\n };\n } catch (error) {\n console.error('Error getting logs by runId from file:', error);\n return {\n logs: [],\n total: 0,\n page: 0,\n perPage: 0,\n hasMore: false,\n };\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["LoggerTransport"],"sources":["../../src/file/index.ts"],"sourcesContent":["import type { WriteStream } from 'node:fs';\nimport { createWriteStream, existsSync, readFileSync } from 'node:fs';\nimport { LoggerTransport } from '@mastra/core/logger';\nimport type { BaseLogMessage, LogLevel } from '@mastra/core/logger';\n\nexport class FileTransport extends LoggerTransport {\n path: string;\n fileStream: WriteStream;\n constructor({ path }: { path: string }) {\n super({ objectMode: true });\n this.path = path;\n\n if (!existsSync(this.path)) {\n console.info(this.path);\n throw new Error('File path does not exist');\n }\n\n this.fileStream = createWriteStream(this.path, { flags: 'a' });\n }\n\n _transform(chunk: any, _encoding: string, callback: (error: Error | null, chunk: any) => void) {\n try {\n this.fileStream.write(chunk);\n } catch (error) {\n console.error('Error parsing log entry:', error);\n }\n callback(null, chunk);\n }\n\n _flush(callback: Function) {\n // End the file stream when transform stream ends\n this.fileStream.end(() => {\n callback();\n });\n }\n\n _write(chunk: any, encoding?: string, callback?: (error?: Error | null) => void): boolean {\n if (typeof callback === 'function') {\n this._transform(chunk, encoding || 'utf8', callback);\n return true;\n }\n\n this._transform(chunk, encoding || 'utf8', (error: Error | null) => {\n if (error) console.error('Transform error in write:', error);\n });\n return true;\n }\n\n // Clean up resources\n _destroy(error: Error, callback: Function) {\n if (this.fileStream) {\n this.fileStream.destroy(error);\n }\n callback(error);\n }\n\n async listLogs(params?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n returnPaginationResults?: boolean; // default true\n page?: number;\n perPage?: number;\n }): Promise<{\n logs: BaseLogMessage[];\n total: number;\n page: number;\n perPage: number;\n hasMore: boolean;\n }> {\n try {\n const {\n fromDate,\n toDate,\n logLevel,\n filters,\n returnPaginationResults: returnPaginationResultsInput,\n page: pageInput,\n perPage: perPageInput,\n } = params || {};\n\n const page = pageInput === 0 ? 1 : (pageInput ?? 1);\n const perPage = perPageInput ?? 100;\n const returnPaginationResults = returnPaginationResultsInput ?? true;\n\n const logs = readFileSync(this.path, 'utf8')\n .split('\\n')\n .filter(Boolean)\n .flatMap(line => {\n try {\n return [JSON.parse(line)];\n } catch {\n return [];\n }\n });\n\n let filteredLogs = logs.filter(record => record !== null && typeof record === 'object');\n\n if (filters) {\n filteredLogs = filteredLogs.filter(log =>\n Object.entries(filters || {}).every(([key, value]) => log[key as keyof BaseLogMessage] === value),\n );\n }\n\n if (logLevel) {\n filteredLogs = filteredLogs.filter(log => log.level === logLevel);\n }\n\n if (fromDate) {\n filteredLogs = filteredLogs.filter(log => new Date(log.time)?.getTime() >= fromDate!.getTime());\n }\n\n if (toDate) {\n filteredLogs = filteredLogs.filter(log => new Date(log.time)?.getTime() <= toDate!.getTime());\n }\n\n if (!returnPaginationResults) {\n return {\n logs: filteredLogs,\n total: filteredLogs.length,\n page,\n perPage: filteredLogs.length,\n hasMore: false,\n };\n }\n\n const total = filteredLogs.length;\n const resolvedPerPage = perPage || 100;\n const start = (page - 1) * resolvedPerPage;\n const end = start + resolvedPerPage;\n const paginatedLogs = filteredLogs.slice(start, end);\n const hasMore = end < total;\n\n return {\n logs: paginatedLogs,\n total,\n page,\n perPage: resolvedPerPage,\n hasMore,\n };\n } catch (error) {\n console.error('Error getting logs from file:', error);\n return {\n logs: [],\n total: 0,\n page: 0,\n perPage: 0,\n hasMore: false,\n };\n }\n }\n\n async listLogsByRunId({\n runId,\n fromDate,\n toDate,\n logLevel,\n filters,\n page: pageInput,\n perPage: perPageInput,\n }: {\n runId: string;\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n }): Promise<{\n logs: BaseLogMessage[];\n total: number;\n page: number;\n perPage: number;\n hasMore: boolean;\n }> {\n try {\n const page = pageInput === 0 ? 1 : (pageInput ?? 1);\n const perPage = perPageInput ?? 100;\n const allLogs = await this.listLogs({ fromDate, toDate, logLevel, filters });\n const logs = (allLogs?.logs?.filter(log => log?.runId === runId) || []) as BaseLogMessage[];\n const total = logs.length;\n const resolvedPerPage = perPage || 100;\n const start = (page - 1) * resolvedPerPage;\n const end = start + resolvedPerPage;\n const paginatedLogs = logs.slice(start, end);\n const hasMore = end < total;\n\n return {\n logs: paginatedLogs,\n total,\n page,\n perPage: resolvedPerPage,\n hasMore,\n };\n } catch (error) {\n console.error('Error getting logs by runId from file:', error);\n return {\n logs: [],\n total: 0,\n page: 0,\n perPage: 0,\n hasMore: false,\n };\n }\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/file/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpE,qBAAa,aAAc,SAAQ,eAAe;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,WAAW,CAAC;IACxB,YAAY,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAUrC;IAED,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,QAO5F;IAED,MAAM,CAAC,QAAQ,EAAE,QAAQ,QAKxB;IAED,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,OAAO,CAUxF;IAGD,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,QAKxC;IAEK,QAAQ,CAAC,MAAM,CAAC,EAAE;QACtB,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,MAAM,CAAC,EAAE,IAAI,CAAC;QACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QACV,IAAI,EAAE,cAAc,EAAE,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC,CA2ED;IAEK,eAAe,CAAC,EACpB,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAO,EACP,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,YAAY,GACtB,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,MAAM,CAAC,EAAE,IAAI,CAAC;QACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QACV,IAAI,EAAE,cAAc,EAAE,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC,CA8BD;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/file/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpE,qBAAa,aAAc,SAAQ,eAAe;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,WAAW,CAAC;IACxB,YAAY,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAUrC;IAED,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,QAO5F;IAED,MAAM,CAAC,QAAQ,EAAE,QAAQ,QAKxB;IAED,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,OAAO,CAUxF;IAGD,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,QAKxC;IAEK,QAAQ,CAAC,MAAM,CAAC,EAAE;QACtB,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,MAAM,CAAC,EAAE,IAAI,CAAC;QACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QACV,IAAI,EAAE,cAAc,EAAE,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC,CAiFD;IAEK,eAAe,CAAC,EACpB,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,OAAO,EACP,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,YAAY,GACtB,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,MAAM,CAAC,EAAE,IAAI,CAAC;QACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC;QACV,IAAI,EAAE,cAAc,EAAE,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC,CA8BD;CACF"}
@@ -46,7 +46,13 @@ var FileTransport = class extends LoggerTransport {
46
46
  const page = pageInput === 0 ? 1 : pageInput ?? 1;
47
47
  const perPage = perPageInput ?? 100;
48
48
  const returnPaginationResults = returnPaginationResultsInput ?? true;
49
- let filteredLogs = readFileSync(this.path, "utf8").split("\n").filter(Boolean).map((log) => JSON.parse(log)).filter((record) => record !== null && typeof record === "object");
49
+ let filteredLogs = readFileSync(this.path, "utf8").split("\n").filter(Boolean).flatMap((line) => {
50
+ try {
51
+ return [JSON.parse(line)];
52
+ } catch {
53
+ return [];
54
+ }
55
+ }).filter((record) => record !== null && typeof record === "object");
50
56
  if (filters) filteredLogs = filteredLogs.filter((log) => Object.entries(filters || {}).every(([key, value]) => log[key] === value));
51
57
  if (logLevel) filteredLogs = filteredLogs.filter((log) => log.level === logLevel);
52
58
  if (fromDate) filteredLogs = filteredLogs.filter((log) => new Date(log.time).getTime() >= fromDate.getTime());
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/file/index.ts"],"sourcesContent":["import type { WriteStream } from 'node:fs';\nimport { createWriteStream, existsSync, readFileSync } from 'node:fs';\nimport { LoggerTransport } from '@mastra/core/logger';\nimport type { BaseLogMessage, LogLevel } from '@mastra/core/logger';\n\nexport class FileTransport extends LoggerTransport {\n path: string;\n fileStream: WriteStream;\n constructor({ path }: { path: string }) {\n super({ objectMode: true });\n this.path = path;\n\n if (!existsSync(this.path)) {\n console.info(this.path);\n throw new Error('File path does not exist');\n }\n\n this.fileStream = createWriteStream(this.path, { flags: 'a' });\n }\n\n _transform(chunk: any, _encoding: string, callback: (error: Error | null, chunk: any) => void) {\n try {\n this.fileStream.write(chunk);\n } catch (error) {\n console.error('Error parsing log entry:', error);\n }\n callback(null, chunk);\n }\n\n _flush(callback: Function) {\n // End the file stream when transform stream ends\n this.fileStream.end(() => {\n callback();\n });\n }\n\n _write(chunk: any, encoding?: string, callback?: (error?: Error | null) => void): boolean {\n if (typeof callback === 'function') {\n this._transform(chunk, encoding || 'utf8', callback);\n return true;\n }\n\n this._transform(chunk, encoding || 'utf8', (error: Error | null) => {\n if (error) console.error('Transform error in write:', error);\n });\n return true;\n }\n\n // Clean up resources\n _destroy(error: Error, callback: Function) {\n if (this.fileStream) {\n this.fileStream.destroy(error);\n }\n callback(error);\n }\n\n async listLogs(params?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n returnPaginationResults?: boolean; // default true\n page?: number;\n perPage?: number;\n }): Promise<{\n logs: BaseLogMessage[];\n total: number;\n page: number;\n perPage: number;\n hasMore: boolean;\n }> {\n try {\n const {\n fromDate,\n toDate,\n logLevel,\n filters,\n returnPaginationResults: returnPaginationResultsInput,\n page: pageInput,\n perPage: perPageInput,\n } = params || {};\n\n const page = pageInput === 0 ? 1 : (pageInput ?? 1);\n const perPage = perPageInput ?? 100;\n const returnPaginationResults = returnPaginationResultsInput ?? true;\n\n const logs = readFileSync(this.path, 'utf8')\n .split('\\n')\n .filter(Boolean)\n .map(log => JSON.parse(log));\n\n let filteredLogs = logs.filter(record => record !== null && typeof record === 'object');\n\n if (filters) {\n filteredLogs = filteredLogs.filter(log =>\n Object.entries(filters || {}).every(([key, value]) => log[key as keyof BaseLogMessage] === value),\n );\n }\n\n if (logLevel) {\n filteredLogs = filteredLogs.filter(log => log.level === logLevel);\n }\n\n if (fromDate) {\n filteredLogs = filteredLogs.filter(log => new Date(log.time)?.getTime() >= fromDate!.getTime());\n }\n\n if (toDate) {\n filteredLogs = filteredLogs.filter(log => new Date(log.time)?.getTime() <= toDate!.getTime());\n }\n\n if (!returnPaginationResults) {\n return {\n logs: filteredLogs,\n total: filteredLogs.length,\n page,\n perPage: filteredLogs.length,\n hasMore: false,\n };\n }\n\n const total = filteredLogs.length;\n const resolvedPerPage = perPage || 100;\n const start = (page - 1) * resolvedPerPage;\n const end = start + resolvedPerPage;\n const paginatedLogs = filteredLogs.slice(start, end);\n const hasMore = end < total;\n\n return {\n logs: paginatedLogs,\n total,\n page,\n perPage: resolvedPerPage,\n hasMore,\n };\n } catch (error) {\n console.error('Error getting logs from file:', error);\n return {\n logs: [],\n total: 0,\n page: 0,\n perPage: 0,\n hasMore: false,\n };\n }\n }\n\n async listLogsByRunId({\n runId,\n fromDate,\n toDate,\n logLevel,\n filters,\n page: pageInput,\n perPage: perPageInput,\n }: {\n runId: string;\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n }): Promise<{\n logs: BaseLogMessage[];\n total: number;\n page: number;\n perPage: number;\n hasMore: boolean;\n }> {\n try {\n const page = pageInput === 0 ? 1 : (pageInput ?? 1);\n const perPage = perPageInput ?? 100;\n const allLogs = await this.listLogs({ fromDate, toDate, logLevel, filters });\n const logs = (allLogs?.logs?.filter(log => log?.runId === runId) || []) as BaseLogMessage[];\n const total = logs.length;\n const resolvedPerPage = perPage || 100;\n const start = (page - 1) * resolvedPerPage;\n const end = start + resolvedPerPage;\n const paginatedLogs = logs.slice(start, end);\n const hasMore = end < total;\n\n return {\n logs: paginatedLogs,\n total,\n page,\n perPage: resolvedPerPage,\n hasMore,\n };\n } catch (error) {\n console.error('Error getting logs by runId from file:', error);\n return {\n logs: [],\n total: 0,\n page: 0,\n perPage: 0,\n hasMore: false,\n };\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/file/index.ts"],"sourcesContent":["import type { WriteStream } from 'node:fs';\nimport { createWriteStream, existsSync, readFileSync } from 'node:fs';\nimport { LoggerTransport } from '@mastra/core/logger';\nimport type { BaseLogMessage, LogLevel } from '@mastra/core/logger';\n\nexport class FileTransport extends LoggerTransport {\n path: string;\n fileStream: WriteStream;\n constructor({ path }: { path: string }) {\n super({ objectMode: true });\n this.path = path;\n\n if (!existsSync(this.path)) {\n console.info(this.path);\n throw new Error('File path does not exist');\n }\n\n this.fileStream = createWriteStream(this.path, { flags: 'a' });\n }\n\n _transform(chunk: any, _encoding: string, callback: (error: Error | null, chunk: any) => void) {\n try {\n this.fileStream.write(chunk);\n } catch (error) {\n console.error('Error parsing log entry:', error);\n }\n callback(null, chunk);\n }\n\n _flush(callback: Function) {\n // End the file stream when transform stream ends\n this.fileStream.end(() => {\n callback();\n });\n }\n\n _write(chunk: any, encoding?: string, callback?: (error?: Error | null) => void): boolean {\n if (typeof callback === 'function') {\n this._transform(chunk, encoding || 'utf8', callback);\n return true;\n }\n\n this._transform(chunk, encoding || 'utf8', (error: Error | null) => {\n if (error) console.error('Transform error in write:', error);\n });\n return true;\n }\n\n // Clean up resources\n _destroy(error: Error, callback: Function) {\n if (this.fileStream) {\n this.fileStream.destroy(error);\n }\n callback(error);\n }\n\n async listLogs(params?: {\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n returnPaginationResults?: boolean; // default true\n page?: number;\n perPage?: number;\n }): Promise<{\n logs: BaseLogMessage[];\n total: number;\n page: number;\n perPage: number;\n hasMore: boolean;\n }> {\n try {\n const {\n fromDate,\n toDate,\n logLevel,\n filters,\n returnPaginationResults: returnPaginationResultsInput,\n page: pageInput,\n perPage: perPageInput,\n } = params || {};\n\n const page = pageInput === 0 ? 1 : (pageInput ?? 1);\n const perPage = perPageInput ?? 100;\n const returnPaginationResults = returnPaginationResultsInput ?? true;\n\n const logs = readFileSync(this.path, 'utf8')\n .split('\\n')\n .filter(Boolean)\n .flatMap(line => {\n try {\n return [JSON.parse(line)];\n } catch {\n return [];\n }\n });\n\n let filteredLogs = logs.filter(record => record !== null && typeof record === 'object');\n\n if (filters) {\n filteredLogs = filteredLogs.filter(log =>\n Object.entries(filters || {}).every(([key, value]) => log[key as keyof BaseLogMessage] === value),\n );\n }\n\n if (logLevel) {\n filteredLogs = filteredLogs.filter(log => log.level === logLevel);\n }\n\n if (fromDate) {\n filteredLogs = filteredLogs.filter(log => new Date(log.time)?.getTime() >= fromDate!.getTime());\n }\n\n if (toDate) {\n filteredLogs = filteredLogs.filter(log => new Date(log.time)?.getTime() <= toDate!.getTime());\n }\n\n if (!returnPaginationResults) {\n return {\n logs: filteredLogs,\n total: filteredLogs.length,\n page,\n perPage: filteredLogs.length,\n hasMore: false,\n };\n }\n\n const total = filteredLogs.length;\n const resolvedPerPage = perPage || 100;\n const start = (page - 1) * resolvedPerPage;\n const end = start + resolvedPerPage;\n const paginatedLogs = filteredLogs.slice(start, end);\n const hasMore = end < total;\n\n return {\n logs: paginatedLogs,\n total,\n page,\n perPage: resolvedPerPage,\n hasMore,\n };\n } catch (error) {\n console.error('Error getting logs from file:', error);\n return {\n logs: [],\n total: 0,\n page: 0,\n perPage: 0,\n hasMore: false,\n };\n }\n }\n\n async listLogsByRunId({\n runId,\n fromDate,\n toDate,\n logLevel,\n filters,\n page: pageInput,\n perPage: perPageInput,\n }: {\n runId: string;\n fromDate?: Date;\n toDate?: Date;\n logLevel?: LogLevel;\n filters?: Record<string, any>;\n page?: number;\n perPage?: number;\n }): Promise<{\n logs: BaseLogMessage[];\n total: number;\n page: number;\n perPage: number;\n hasMore: boolean;\n }> {\n try {\n const page = pageInput === 0 ? 1 : (pageInput ?? 1);\n const perPage = perPageInput ?? 100;\n const allLogs = await this.listLogs({ fromDate, toDate, logLevel, filters });\n const logs = (allLogs?.logs?.filter(log => log?.runId === runId) || []) as BaseLogMessage[];\n const total = logs.length;\n const resolvedPerPage = perPage || 100;\n const start = (page - 1) * resolvedPerPage;\n const end = start + resolvedPerPage;\n const paginatedLogs = logs.slice(start, end);\n const hasMore = end < total;\n\n return {\n logs: paginatedLogs,\n total,\n page,\n perPage: resolvedPerPage,\n hasMore,\n };\n } catch (error) {\n console.error('Error getting logs by runId from file:', error);\n return {\n logs: [],\n total: 0,\n page: 0,\n perPage: 0,\n hasMore: false,\n };\n }\n }\n}\n"],"mappings":";;;AAKA,IAAa,gBAAb,cAAmC,gBAAgB;CACjD;CACA;CACA,YAAY,EAAE,QAA0B;EACtC,MAAM,EAAE,YAAY,KAAK,CAAC;EAC1B,KAAK,OAAO;EAEZ,IAAI,CAAC,WAAW,KAAK,IAAI,GAAG;GAC1B,QAAQ,KAAK,KAAK,IAAI;GACtB,MAAM,IAAI,MAAM,0BAA0B;EAC5C;EAEA,KAAK,aAAa,kBAAkB,KAAK,MAAM,EAAE,OAAO,IAAI,CAAC;CAC/D;CAEA,WAAW,OAAY,WAAmB,UAAqD;EAC7F,IAAI;GACF,KAAK,WAAW,MAAM,KAAK;EAC7B,SAAS,OAAO;GACd,QAAQ,MAAM,4BAA4B,KAAK;EACjD;EACA,SAAS,MAAM,KAAK;CACtB;CAEA,OAAO,UAAoB;EAEzB,KAAK,WAAW,UAAU;GACxB,SAAS;EACX,CAAC;CACH;CAEA,OAAO,OAAY,UAAmB,UAAoD;EACxF,IAAI,OAAO,aAAa,YAAY;GAClC,KAAK,WAAW,OAAO,YAAY,QAAQ,QAAQ;GACnD,OAAO;EACT;EAEA,KAAK,WAAW,OAAO,YAAY,SAAS,UAAwB;GAClE,IAAI,OAAO,QAAQ,MAAM,6BAA6B,KAAK;EAC7D,CAAC;EACD,OAAO;CACT;CAGA,SAAS,OAAc,UAAoB;EACzC,IAAI,KAAK,YACP,KAAK,WAAW,QAAQ,KAAK;EAE/B,SAAS,KAAK;CAChB;CAEA,MAAM,SAAS,QAcZ;EACD,IAAI;GACF,MAAM,EACJ,UACA,QACA,UACA,SACA,yBAAyB,8BACzB,MAAM,WACN,SAAS,iBACP,UAAU,CAAC;GAEf,MAAM,OAAO,cAAc,IAAI,IAAK,aAAa;GACjD,MAAM,UAAU,gBAAgB;GAChC,MAAM,0BAA0B,gCAAgC;GAahE,IAAI,eAXS,aAAa,KAAK,MAAM,MAAM,CAAC,CACzC,MAAM,IAAI,CAAC,CACX,OAAO,OAAO,CAAC,CACf,SAAQ,SAAQ;IACf,IAAI;KACF,OAAO,CAAC,KAAK,MAAM,IAAI,CAAC;IAC1B,QAAQ;KACN,OAAO,CAAC;IACV;GACF,CAEoB,CAAC,CAAC,QAAO,WAAU,WAAW,QAAQ,OAAO,WAAW,QAAQ;GAEtF,IAAI,SACF,eAAe,aAAa,QAAO,QACjC,OAAO,QAAQ,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,WAAW,IAAI,SAAiC,KAAK,CAClG;GAGF,IAAI,UACF,eAAe,aAAa,QAAO,QAAO,IAAI,UAAU,QAAQ;GAGlE,IAAI,UACF,eAAe,aAAa,QAAO,QAAO,IAAI,KAAK,IAAI,IAAI,CAAC,CAAE,QAAQ,KAAK,SAAU,QAAQ,CAAC;GAGhG,IAAI,QACF,eAAe,aAAa,QAAO,QAAO,IAAI,KAAK,IAAI,IAAI,CAAC,CAAE,QAAQ,KAAK,OAAQ,QAAQ,CAAC;GAG9F,IAAI,CAAC,yBACH,OAAO;IACL,MAAM;IACN,OAAO,aAAa;IACpB;IACA,SAAS,aAAa;IACtB,SAAS;GACX;GAGF,MAAM,QAAQ,aAAa;GAC3B,MAAM,kBAAkB,WAAW;GACnC,MAAM,SAAS,OAAO,KAAK;GAC3B,MAAM,MAAM,QAAQ;GAIpB,OAAO;IACL,MAJoB,aAAa,MAAM,OAAO,GAI5B;IAClB;IACA;IACA,SAAS;IACT,SAPc,MAAM;GAQtB;EACF,SAAS,OAAO;GACd,QAAQ,MAAM,iCAAiC,KAAK;GACpD,OAAO;IACL,MAAM,CAAC;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;GACX;EACF;CACF;CAEA,MAAM,gBAAgB,EACpB,OACA,UACA,QACA,UACA,SACA,MAAM,WACN,SAAS,gBAeR;EACD,IAAI;GACF,MAAM,OAAO,cAAc,IAAI,IAAK,aAAa;GACjD,MAAM,UAAU,gBAAgB;GAEhC,MAAM,QAAQ,MADQ,KAAK,SAAS;IAAE;IAAU;IAAQ;IAAU;GAAQ,CAAC,EAAA,EACpD,MAAM,QAAO,QAAO,KAAK,UAAU,KAAK,KAAK,CAAC;GACrE,MAAM,QAAQ,KAAK;GACnB,MAAM,kBAAkB,WAAW;GACnC,MAAM,SAAS,OAAO,KAAK;GAC3B,MAAM,MAAM,QAAQ;GAIpB,OAAO;IACL,MAJoB,KAAK,MAAM,OAAO,GAIpB;IAClB;IACA;IACA,SAAS;IACT,SAPc,MAAM;GAQtB;EACF,SAAS,OAAO;GACd,QAAQ,MAAM,0CAA0C,KAAK;GAC7D,OAAO;IACL,MAAM,CAAC;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;GACX;EACF;CACF;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/loggers",
3
- "version": "1.3.3",
3
+ "version": "1.3.4-alpha.0",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "files": [
@@ -76,9 +76,9 @@
76
76
  "tsx": "^4.23.1",
77
77
  "typescript": "^7.0.2",
78
78
  "vitest": "4.1.11",
79
- "@internal/lint": "0.0.138",
80
79
  "@internal/types-builder": "0.0.113",
81
- "@mastra/core": "1.72.0"
80
+ "@mastra/core": "1.73.0-alpha.1",
81
+ "@internal/lint": "0.0.138"
82
82
  },
83
83
  "peerDependencies": {
84
84
  "@mastra/core": ">=1.0.0-0 <2.0.0-0"