feat: implement structured logging for server and client
Server: - Add pino and pino-http for structured logging - Create @Logged class decorator using Proxy pattern for automatic method logging - Add pino redact config for sensitive data (password, token, etc.) - Move AuthMiddleware to controllers folder (per architecture diagram) - Add LoggingMiddleware for HTTP request logging - Replace console.log/error with structured logger in controllers and app.ts - Decorate all repositories and GPTAdapter with @Logged Client: - Add react-native-logs with namespaced loggers (apiLogger, storeLogger) - Add request/response logging to ApiClient with duration tracking
This commit is contained in:
1
apps/client/src/logging/index.ts
Normal file
1
apps/client/src/logging/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { log, apiLogger, storeLogger } from "./logger";
|
||||
30
apps/client/src/logging/logger.ts
Normal file
30
apps/client/src/logging/logger.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { logger, consoleTransport } from "react-native-logs";
|
||||
|
||||
const log = logger.createLogger({
|
||||
levels: {
|
||||
debug: 0,
|
||||
info: 1,
|
||||
warn: 2,
|
||||
error: 3,
|
||||
},
|
||||
severity: __DEV__ ? "debug" : "warn",
|
||||
transport: consoleTransport,
|
||||
transportOptions: {
|
||||
colors: {
|
||||
debug: "white",
|
||||
info: "blueBright",
|
||||
warn: "yellowBright",
|
||||
error: "redBright",
|
||||
},
|
||||
},
|
||||
async: true,
|
||||
dateFormat: "time",
|
||||
printLevel: true,
|
||||
printDate: true,
|
||||
enabled: true,
|
||||
});
|
||||
|
||||
export const apiLogger = log.extend("API");
|
||||
export const storeLogger = log.extend("Store");
|
||||
|
||||
export { log };
|
||||
Reference in New Issue
Block a user