저는 초보자이므로 올해 초 node.js로 게임을 시작했으며 매우 좋아했습니다. 나는 node.js에서 로깅 메커니즘을 점차 증가시키고 있습니다. console.log에서 시작하여 현재 RAM 디스크를 사용하여 모든 것을 RAM 디스크의 파일에 기록합니다.node.js에서 로깅 오류 및 예외가 발생했습니다.
RAM 디스크에 로그인하는이 방법은 내가 원하는 바에 가깝습니다. 영구 파일을 원하지 않지만 내 persist.ence가 필요하므로 node.js가 충돌하면 이전 로그가 손실되지 않습니다. 나는 자동으로 노드를 다시 시작하기 위해 영원히 사용하고 있습니다. 즉, 로그와 오류를 실시간으로 볼 수있는 활성 터미널이 없다는 것을 의미합니다. 대신 RAM 디스크에서 모든 로그를 읽고 다시 제공하는 GET 메서드가 있습니다. 여기
은 RAM 디스크와 메모리 버퍼에 파일에 로그를 저장하는 내 코드입니다 :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);
}
});
}
});
}
}
문제는 그 수명이 다한에 기록되지 않습니다는 예외 또는 오류에 노드 프로세스가 충돌 RAM 디스크.
노드에 오류 및 예외를 기록하는 방법을 알려주십시오.
감사합니다. 나는 그것을 시험해보고 다시보고 할 것이다. – Pankaj
감사합니다. 이것은 효과가 있으며 지난 몇 번의 충돌에서 도움이 됨이 입증되었습니다. 나는이 대답을 받아 들인다. – Pankaj