File tree Expand file tree Collapse file tree 2 files changed +20
-8
lines changed
components/esp32-javascript/modules/esp32-javascript Expand file tree Collapse file tree 2 files changed +20
-8
lines changed Original file line number Diff line number Diff line change @@ -54,12 +54,18 @@ function cleanupOldLogs() {
5454 }
5555}
5656global . el_flushLogBuffer = function ( ) {
57+ var swap = global . logBuffer ; // swap to prevent endless loop when error occurs in this method
58+ global . logBuffer = new stringbuffer_1 . StringBuffer ( ) ;
5759 var logFile = exports . FILE_LOGGING_DIRECTORY + "/logs-" + getLogFileNumber ( ) + ".txt" ;
58- var ret = appendFile ( logFile , global . logBuffer . toString ( ) ) ;
59- if ( ret < 0 ) {
60- console . error ( "Could not flush log file. Space exceeded?" ) ;
60+ try {
61+ var ret = appendFile ( logFile , swap . toString ( ) ) ;
62+ if ( ret < 0 ) {
63+ console . error ( "Could not flush log file. Space exceeded?" ) ;
64+ }
65+ }
66+ catch ( error ) {
67+ console . error ( "Could not open log file. Space exceeded?" ) ;
6168 }
62- global . logBuffer = new stringbuffer_1 . StringBuffer ( ) ;
6369 if ( fileSize ( logFile ) > exports . LOG_FILE_SIZE_LIMIT ) {
6470 logFileNumber ++ ;
6571 }
Original file line number Diff line number Diff line change @@ -57,13 +57,19 @@ function cleanupOldLogs() {
5757}
5858
5959global . el_flushLogBuffer = function ( ) : void {
60+ const swap = global . logBuffer ; // swap to prevent endless loop when error occurs in this method
61+ global . logBuffer = new StringBuffer ( ) ;
62+
6063 const logFile = `${ FILE_LOGGING_DIRECTORY } /logs-${ getLogFileNumber ( ) } .txt` ;
61- const ret = appendFile ( logFile , global . logBuffer . toString ( ) ) ;
62- if ( ret < 0 ) {
63- console . error ( "Could not flush log file. Space exceeded?" ) ;
64+ try {
65+ const ret = appendFile ( logFile , swap . toString ( ) ) ;
66+ if ( ret < 0 ) {
67+ console . error ( "Could not flush log file. Space exceeded?" ) ;
68+ }
69+ } catch ( error ) {
70+ console . error ( "Could not open log file. Space exceeded?" ) ;
6471 }
6572
66- global . logBuffer = new StringBuffer ( ) ;
6773 if ( fileSize ( logFile ) > LOG_FILE_SIZE_LIMIT ) {
6874 logFileNumber ++ ;
6975 }
You can’t perform that action at this time.
0 commit comments