|  | @@ -73,7 +73,7 @@ void blinkStatus(int count)
 | 
	
		
			
				|  |  |  /* Log saving */
 | 
	
		
			
				|  |  |  /**************/
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -void save_logfile()
 | 
	
		
			
				|  |  | +void save_logfile(bool always = false)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |    static uint32_t prev_log_pos = 0;
 | 
	
		
			
				|  |  |    static uint32_t prev_log_len = 0;
 | 
	
	
		
			
				|  | @@ -82,7 +82,9 @@ void save_logfile()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    if (loglen != prev_log_len)
 | 
	
		
			
				|  |  |    {
 | 
	
		
			
				|  |  | -    if (LOG_SAVE_INTERVAL_MS > 0 && (uint32_t)(millis() - prev_log_save) > LOG_SAVE_INTERVAL_MS)
 | 
	
		
			
				|  |  | +    // When debug is off, save log at most every LOG_SAVE_INTERVAL_MS
 | 
	
		
			
				|  |  | +    // When debug is on, save after every SCSI command.
 | 
	
		
			
				|  |  | +    if (always || g_azlog_debug || (LOG_SAVE_INTERVAL_MS > 0 && (uint32_t)(millis() - prev_log_save) > LOG_SAVE_INTERVAL_MS))
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |        g_logfile.write(azlog_get_buffer(&prev_log_pos));
 | 
	
		
			
				|  |  |        g_logfile.flush();
 | 
	
	
		
			
				|  | @@ -100,7 +102,7 @@ void init_logfile()
 | 
	
		
			
				|  |  |    bool truncate = first_open_after_boot;
 | 
	
		
			
				|  |  |    int flags = O_WRONLY | O_CREAT | (truncate ? O_TRUNC : O_APPEND);
 | 
	
		
			
				|  |  |    g_logfile = SD.open(LOGFILE, flags);
 | 
	
		
			
				|  |  | -  save_logfile();
 | 
	
		
			
				|  |  | +  save_logfile(true);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    first_open_after_boot = false;
 | 
	
		
			
				|  |  |  }
 |