From be0d137252dd81eed1385cbefbf66633087adaae Mon Sep 17 00:00:00 2001 From: David S Price Date: Thu, 25 Mar 2021 14:18:05 -0700 Subject: [PATCH] logger code mods v0.28 --- .env.defaults | 5 +++++ .env.example | 3 ++- api/src/lib/db.js | 17 ++++++++++++++++- api/src/lib/logger.js | 17 +++++++++++++++++ 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 api/src/lib/logger.js diff --git a/.env.defaults b/.env.defaults index 5500243..aa27777 100644 --- a/.env.defaults +++ b/.env.defaults @@ -11,3 +11,8 @@ DATABASE_URL=file:./dev.db # disables Prisma CLI update notifier PRISMA_HIDE_UPDATE_MESSAGE=true + +# Option to override the current environment's default api-side log level +# See: https://redwoodjs.com/docs/logger for level options: +# trace | info | debug | warn | error | silent +# LOG_LEVEL=debug diff --git a/.env.example b/.env.example index 28853d1..83500ad 100644 --- a/.env.example +++ b/.env.example @@ -1,2 +1,3 @@ # DATABASE_URL=file:./dev.db -# BINARY_TARGET=native \ No newline at end of file +# BINARY_TARGET=native +# LOG_LEVEL=debug diff --git a/api/src/lib/db.js b/api/src/lib/db.js index 465626a..5006d00 100644 --- a/api/src/lib/db.js +++ b/api/src/lib/db.js @@ -3,4 +3,19 @@ import { PrismaClient } from '@prisma/client' -export const db = new PrismaClient() +import { emitLogLevels, handlePrismaLogging } from '@redwoodjs/api/logger' + +import { logger } from './logger' + +/* + * Instance of the Prisma Client + */ +export const db = new PrismaClient({ + log: emitLogLevels(['info', 'warn', 'error']), +}) + +handlePrismaLogging({ + db, + logger, + logLevels: ['info', 'warn', 'error'], +}) diff --git a/api/src/lib/logger.js b/api/src/lib/logger.js new file mode 100644 index 0000000..be5dbf2 --- /dev/null +++ b/api/src/lib/logger.js @@ -0,0 +1,17 @@ +import { createLogger } from '@redwoodjs/api/logger' + +/** + * Creates a logger with RedwoodLoggerOptions + * + * These extend and override default LoggerOptions, + * can define a destination like a file or other supported pin log transport stream, + * and sets where or not to show the logger configuration settings (defaults to false) + * + * @param RedwoodLoggerOptions + * + * RedwoodLoggerOptions have + * @param {options} LoggerOptions - defines how to log, such as pretty printing, redaction, and format + * @param {string | DestinationStream} destination - defines where to log, such as a transport stream or file + * @param {boolean} showConfig - whether to display logger configuration on initialization + */ +export const logger = createLogger({})