diff --git a/package.json b/package.json index 8107f28..8f1d8fe 100644 --- a/package.json +++ b/package.json @@ -21,39 +21,39 @@ "dependencies": { "@nuxt/ui": "4.6.1", "bcryptjs": "3.0.3", - "better-sqlite3": "^12.9.0", + "better-sqlite3": "12.9.0", "dotenv": "17.4.1", "drizzle-orm": "0.45.2", "drizzle-pkg": "workspace:*", "drizzle-seed": "0.3.1", "drizzle-zod": "0.8.3", - "fast-xml-parser": "^5.7.0", - "isomorphic-dompurify": "^3.9.0", + "fast-xml-parser": "5.7.0", + "isomorphic-dompurify": "3.9.0", "log4js": "6.9.1", "logger": "workspace:*", - "markdown-it": "^14.1.1", + "markdown-it": "14.1.1", "md-editor-v3": "6.4.2", "mime": "4.1.0", "multer": "2.1.1", "nuxt": "4.4.2", "pg": "8.20.0", - "sharp": "^0.34.5", - "svg-captcha": "^1.4.0", - "tailwindcss": "^4.2.2", + "sharp": "0.34.5", + "svg-captcha": "1.4.0", + "tailwindcss": "4.2.2", "ufo": "1.6.3", "vue": "3.5.32", - "vue-advanced-cropper": "^2.8.9", + "vue-advanced-cropper": "2.8.9", "vue-router": "5.0.4", "zod": "4.3.6" }, "devDependencies": { "@types/better-sqlite3": "7.6.13", - "@types/markdown-it": "^14.1.2", + "@types/markdown-it": "14.1.2", "@types/multer": "2.1.0", "@types/pg": "8.20.0", "bun-types": "1.3.12", "drizzle-kit": "0.31.10", - "sass": "^1.99.0", + "sass": "1.99.0", "tsx": "4.21.0", "typescript": "6.0.2" } diff --git a/packages/logger/index.ts b/packages/logger/index.ts index 1d111ac..d038c7d 100644 --- a/packages/logger/index.ts +++ b/packages/logger/index.ts @@ -4,6 +4,8 @@ import fs from "node:fs"; const logDir = path.resolve(process.cwd(), "logs"); const pathLog = path.resolve(logDir, "running.log"); +const maxLogSize = Number(process.env.LOG_MAX_SIZE ?? 10 * 1024 * 1024); // 10MB +const maxBackups = Number(process.env.LOG_MAX_BACKUPS ?? 5); if (!fs.existsSync(logDir)) { fs.mkdirSync(logDir, { recursive: true }); @@ -16,6 +18,10 @@ const configureLogger = () => { file: { type: "file", filename: pathLog, + maxLogSize, + backups: maxBackups, + keepFileExt: true, + compress: true, }, console: { type: "console",