function generateDiagnosticsConfig(filename = 'diagnostics.json') {
const config = {
// General settings
logLevel: 'info', // Default: info
reportFormat: 'json', // Default: json
reportInterval: 60, // Default: 60 seconds
// File/Directory monitoring
watchedDirectories: [
'/var/log',
'/home/user/data'
], // Default: example directories
ignoredFiles: [
'.git',
'node_modules'
], // Default: common ignored files
// Specific diagnostics settings
cpuUsageThreshold: 80, // Default: 80%
memoryUsageThreshold: 90, // Default: 90%
diskSpaceThreshold: 80, // Default: 80%
//Notification settings
enableNotifications: true, // Default: true
notificationMethod: 'console', // Default: console, can be 'email', 'slack', etc.
notificationEmail: '', // Default empty string if not using email
slackWebhookUrl: '' //Default empty string if not using slack
};
// Write the config to a file
try {
const fs = require('fs'); // Node.js file system module
fs.writeFileSync(filename, JSON.stringify(config, null, 2)); // Write JSON with indentation
console.log(`Diagnostics configuration written to ${filename}`);
} catch (err) {
console.error(`Error writing to file: ${err.message}`);
}
}
Add your comment