Ich bin ein Neuling in der Entwicklung und früher in diesem Jahr begann herumspielen mit node.js und mochte es sehr. Ich habe meinen Logging-Mechanismus in node.js schrittweise erhöht. Ausgehend von console.log und jetzt mit einer RAM-Disk, um alles auf eine Datei in RAM-Disk zu protokollieren.Handle Fehler und Ausnahmen Anmeldung in node.js
Diese Methode der Anmeldung in RAM-Disk ist nahe, was ich wünsche. Ich möchte keine permanente Datei, aber ich möchte etwas Persistenz, so dass, wenn meine node.js abstürzt, ich meine vorherigen Protokolle nicht verliere. Ich benutze für immer, um Knoten automatisch neu zu starten, dh ich habe kein aktives Terminal, wo ich die Logs und Fehler in Echtzeit sehen kann. Stattdessen habe ich eine GET-Methode, die alle Protokolle von der RAM-Disk liest und es mir zurückgibt.
Hier ist mein Code für Protokolle in Datei im RAM-Disk und im Speicherpuffer zu speichern:
function generateLog(level, logMsg) {
var logLevel;
if(level == levelOff)
return; // no need to go any further, logging has been disabled.
else if(level == levelDebug)
logLevel = "DEBUG: ";
else if(level == levelInfo)
logLevel = "INFO: ";
else if(level == levelWarning)
logLevel = "WARNING: ";
else if(level == levelError)
logLevel = "ERROR: ";
else if(level == levelException)
logLevel = "EXCEPTION: ";
if (level >= loggingLevel){
console.log(logLevel + logMsg);
checkIfFileExists(logFile, function(err,status){
if(err){ // if file does not exist, save it to memory buffer
logBuffer = logBuffer + '<br>' + logLevel + logMsg; // memory
}
else{ // file exists - save it to this file in RAM_disk
fs.appendFile(logFile, logLevel + logMsg + '\n', function(err) {
if(err) {
return console.log(err);
}
});
}
});
}
}
Das Problem ist, dass, wenn der Knoten Prozess abstürzt aufgrund einer Ausnahme oder Fehler dann bekommen, dass nicht angemeldet die RAM-Disk.
Bitte beachten Sie, wie Fehler und Ausnahmen im Knoten protokolliert werden.
Danke. Ich werde es ausprobieren und melden. – Pankaj
Danke. Das hat funktioniert und hat sich in den letzten Abstürzen als hilfreich erwiesen. Ich akzeptiere diese Antwort. – Pankaj