Skip to content

Commit

Permalink
more changes
Browse files Browse the repository at this point in the history
  • Loading branch information
adhityamamallan committed Aug 9, 2024
1 parent bfc2116 commit 6e6491b
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 6 deletions.
9 changes: 9 additions & 0 deletions src/server-actions/log-on-server/log-on-server.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
'use server';

import logger from '@/utils/logger';

import { type LogParams } from './log-on-server.types';

export default async function logOnServer(params: LogParams) {
logger[params.level]({ payload: params.payload }, params.message);
}
7 changes: 7 additions & 0 deletions src/server-actions/log-on-server/log-on-server.types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { type LogLevel } from '@/utils/logger/logger.types';

export type LogParams = {
level: LogLevel;
message: string;
payload: any;
};
18 changes: 18 additions & 0 deletions src/utils/logger/helpers/get-log-params.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { type Level, type LogEvent } from 'pino';

import { type LogParams } from '@/server-actions/log-on-server/log-on-server.types';

export default function getLogParams(level: Level, event: LogEvent): LogParams {
return {
level,
message:
event.messages.find((msg) => typeof msg === 'string') ??
'Log from browser',
payload: {
browserTimestamp: event.ts,
messages: event.messages,
bindings: event.bindings,
isBrowser: true,
},
};
}
15 changes: 9 additions & 6 deletions src/utils/logger/logger.config.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
const isDevelopment = process.env.NODE_ENV === 'development';
import type { LoggerOptions } from 'pino';

import logOnServer from '@/server-actions/log-on-server/log-on-server';

import getLogParams from './helpers/get-log-params';

const isDevelopment = process.env.NODE_ENV === 'development';

const LOGGER_CONFIG: LoggerOptions = {
level: isDevelopment ? 'debug' : 'info',
level: isDevelopment ? 'trace' : 'info',
formatters: {
level(label, number) {
return { level: isDevelopment ? number : label };
Expand All @@ -11,10 +16,8 @@ const LOGGER_CONFIG: LoggerOptions = {
browser: {
transmit: {
level: 'warn',
send: (level, info) => {
// testing send
// eslint-disable-next-line no-console
console.log(level, info);
send: (level, logEvent) => {
logOnServer(getLogParams(level, logEvent));
},
},
},
Expand Down
3 changes: 3 additions & 0 deletions src/utils/logger/logger.types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import { type Level } from 'pino';

export type LogLevel = Level;

0 comments on commit 6e6491b

Please sign in to comment.