>From f00ef086bcc5a1140af3978e03821ae54f913ce5 Mon Sep 17 00:00:00 2001
From: Miguel Olivan <maolivan@fcirce.es>
Date: Thu, 8 Jun 2017 14:35:19 +0200
Subject: [PATCH] Flush Log file and homogenize log output

---
 src/gnoga.adb | 24 ++++++++++++++++--------
 src/gnoga.ads |  6 +++++-
 2 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/src/gnoga.adb b/src/gnoga.adb
index 6be4e39..3431031 100644
--- a/src/gnoga.adb
+++ b/src/gnoga.adb
@@ -342,18 +342,26 @@ package body Gnoga is
 
    procedure Log (Message : in String) is
       T : constant Ada.Calendar.Time := Ada.Calendar.Clock;
-   begin
-      if Use_File then
-         Ada.Text_IO.Put_Line (Log_File, Message);
-      else
-         Write_To_Console
-           (Ada.Calendar.Formatting.Image
-              (Date                  => T,
+      Date_Message : String := Ada.Calendar.Formatting.Image (
+               Date                  => T,
                Include_Time_Fraction => True,
                Time_Zone             =>
                  Ada.Calendar.Time_Zones.UTC_Time_Offset (T)) &
-              " : " & Message);
+              " : " & Message;
+   begin
+      if Use_File then
+         Ada.Text_IO.Put_Line (Log_File, Date_Message);
+      else
+         Write_To_Console (Date_Message);
       end if;
    end Log;
+   ---------------
+   -- Flush_Log --
+   ---------------
+
+   procedure Flush_Log  is
+   begin
+         Ada.Text_IO.Flush (Log_File);
+   end Flush_Log;
 
 end Gnoga;
diff --git a/src/gnoga.ads b/src/gnoga.ads
index dc94b37..e706b60 100644
--- a/src/gnoga.ads
+++ b/src/gnoga.ads
@@ -77,5 +77,9 @@ package Gnoga is
    --  Redirect logging to File_Name instead of console
 
    procedure Log (Message : in String);
-   --  Output message to log (currently console)
+   --  Output message to log
+
+   procedure Flush_Log;
+   --  Flush log file
+
 end Gnoga;
-- 
2.11.0

