var LogFlag = true; var LogPath = "/opt/iobroker/iobroker-data/subscriptions.csv"; // Pfad und Dateiname des externen Logs var fs = require('fs'); // enable write fuer externes log printSubs(); function printSubs() { var subscriptions = getSubscriptions(); var subscriptionCount = 0; for (var dp in subscriptions) { for (var i = 0; i < subscriptions[dp].length; i++) { subscriptionCount++; if (LogFlag) { writelog(dp,subscriptions[dp][i].name,JSON.stringify(subscriptions[dp][i].pattern)); } else { log("Subscription: " + dp + " # im Script: " + subscriptions[dp][i].name + " # pattern: " + JSON.stringify(subscriptions[dp][i].pattern),"info"); } } } log("Anzahl Subscription: " + subscriptionCount); } //----------------------------------------------------------------------------------------------------- // Funktion schreibt einen Logeintrag in das Filesystem //----------------------------------------------------------------------------------------------------- function writelog(dp,script,text) { if (LogFlag === true) { var logdate = formatDate(new Date(),"TT.MM.JJJJ"); var logtime = formatDate(new Date(),"SS:mm:ss"); if (fs.existsSync(LogPath)) { fs.appendFileSync(LogPath, logdate+";"+logtime+";"+dp+";"+script+";"+text + "\n"); // Fuege Satz in Datei ein } else { log("Logfile nicht gefunden - wird angelegt"), "info"; var headerLine= "Datum,Zeit,Datenpunkt;Script;Subscription"; fs.appendFileSync(LogPath, headerLine + "\n"); // Fuege Satz in Datei ein fs.appendFileSync(LogPath, logdate+";"+logtime+";"+dp+";"+script+";"+text + "\n"); // Fuege Satz in Datei ein } } // Ende check on logflag } // Ende Funktion