CH-J Server ManagerSSH-এর মাধ্যমে সার্ভার ব্যবস্থাপনা
মেনু
প্রকাশিত সোর্স

CH-J Server Manager

নির্দিষ্ট একটি অ্যাপ্লিকেশন রিলিজের ডিরেক্টরি ও ফাইল ব্রাউজ করুন।

সোর্স ZIP ডাউনলোড করুন
CH-J / Server Manager 196 টি ফাইল
core-20261013T133631Z-faa4ab45100e যোগ করা হয়েছে: তারিখ নথিভুক্ত নেই · বিল্ড হয়েছে:
logger.js যোগ করা হয়েছে: তারিখ নথিভুক্ত নেই 1.5 KB · 44 লাইন
কোড ফাইল ডাউনলোড করুন
1"use strict";
3const fs = require("node:fs");
4const path = require("node:path");
6const SENSITIVE_KEYS = /pass(word|phrase)?|private.?key|secret|token|credential/i;
8function sanitize(value, depth = 0) {
9 if (depth > 5) return "[depth-limit]";
10 if (Array.isArray(value)) return value.slice(0, 50).map((item) => sanitize(item, depth + 1));
11 if (!value || typeof value !== "object") return value;
12 const result = {};
13 for (const [key, entry] of Object.entries(value)) {
14 result[key] = SENSITIVE_KEYS.test(key) ? "[redacted]" : sanitize(entry, depth + 1);
15 }
16 return result;
19class Logger {
20 constructor(rootDir) {
21 this.logDir = path.join(rootDir, "logs");
22 this.logPath = path.join(this.logDir, "core.log");
23 fs.mkdirSync(this.logDir, { recursive: true });
24 }
26 write(level, message, data = {}) {
27 const record = {
28 timestamp: new Date().toISOString(),
29 level,
30 message: String(message || ""),
31 data: sanitize(data)
32 };
33 const line = `${JSON.stringify(record)}\n`;
34 try { fs.appendFileSync(this.logPath, line, { encoding: "utf8", mode: 0o600 }); } catch {}
35 const output = level === "error" ? console.error : level === "warn" ? console.warn : console.log;
36 output(`[${level.toUpperCase()}] ${record.message}`, record.data);
37 }
39 info(message, data) { this.write("info", message, data); }
40 warn(message, data) { this.write("warn", message, data); }
41 error(message, data) { this.write("error", message, data); }
44module.exports = { Logger, sanitize };
SHA-25689d04a484d9f684bf017a708c287c87d3f4fda912207ba8f7dc06bd33b35e5c5

CH-J Proprietary Software License 1.14 · সোর্স CH-J Proprietary Software License 1.14-এর অধীনে দেওয়া হয়। এর প্রাপ্যতা লাইসেন্সের শর্ত বদলায় না এবং অতিরিক্ত কোনো অধিকারও দেয় না।

আর্কাইভ SHA-256de757268dbc4f0226549f8b4f41f9b7e585c856ee97fa0d43b17a0e95c281449
ফাইল