File tree 2 files changed +20
-8
lines changed
components/esp32-javascript/modules/esp32-javascript
2 files changed +20
-8
lines changed Original file line number Diff line number Diff line change @@ -54,12 +54,18 @@ function cleanupOldLogs() {
54
54
}
55
55
}
56
56
global . 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 ( ) ;
57
59
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?" ) ;
61
68
}
62
- global . logBuffer = new stringbuffer_1 . StringBuffer ( ) ;
63
69
if ( fileSize ( logFile ) > exports . LOG_FILE_SIZE_LIMIT ) {
64
70
logFileNumber ++ ;
65
71
}
Original file line number Diff line number Diff line change @@ -57,13 +57,19 @@ function cleanupOldLogs() {
57
57
}
58
58
59
59
global . 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
+
60
63
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?" ) ;
64
71
}
65
72
66
- global . logBuffer = new StringBuffer ( ) ;
67
73
if ( fileSize ( logFile ) > LOG_FILE_SIZE_LIMIT ) {
68
74
logFileNumber ++ ;
69
75
}
You can’t perform that action at this time.
0 commit comments