Files
mcp-code/lib/utils/log.ts
pablof7z 10fbca0824 feat: Add zap command for sending Bitcoin Lightning tips
- Implemented the `zap` command in the CLI to allow users to send sats to a user, event, or snippet using a NIP-60 wallet.
- Created a new `zap.ts` file to handle the command logic and integrated it into the MCP server.
- Added wallet balance command to check the balance of a user's wallet.
- Enhanced the MCP server to register the new zap command and wallet balance command.
- Introduced caching for wallets to optimize performance and reduce redundant network requests.
- Updated database schema to include snippets table for storing code snippets.
- Improved logging functionality for better debugging and tracking of operations.
- Added functionality to save snippets to the database upon retrieval.
- Updated project overview documentation to reflect new features and structure.
- Refactored existing commands and logic for better modularity and maintainability.
2025-04-08 18:10:16 +01:00

31 lines
903 B
TypeScript

import * as fs from "node:fs";
import { promises as fsPromises } from "node:fs";
import * as os from "node:os";
import * as path from "node:path";
const timeZero = Date.now();
/**
* Simple logging utility
* @param message Message to log
* @param logFilePath Optional custom log file path
*/
export function log(
message: string,
logFilePath: string = path.join(os.homedir(), ".mcp-code23.log")
): void {
// Ensure the directory exists
const logDir = path.dirname(logFilePath);
fs.mkdirSync(logDir, { recursive: true });
const now = new Date();
const timestamp = new Date().toISOString();
const relativeTime = now.getTime() - timeZero;
const logMessage = `[${relativeTime}ms] ${timestamp} - ${message}\n`;
fs.appendFile(logFilePath, logMessage, (err) => {
if (err) {
console.error("Error writing to log file:", err);
}
});
}