Add log header and footer with timestamp, refactor header functions.

- Added header and footer logs with timestamps for each run.
- Refactored header functions to improve readability and maintainability.
This commit is contained in:
Marc Hernandez 2024-05-25 18:11:00 -07:00
parent bdf392cb36
commit f672ab9d2f

View File

@ -360,6 +360,25 @@ static public class log
static void run()
{
var time = DateTime.Now;
// Header for this run
var blankLine = new LogEvent( LogType.Raw, $"", "", 0, "", "lib.time", null );
var beginLine = new LogEvent( LogType.Raw, $"B E G I N ************************************************************************************************************************", "", 0, "", "lib.time", null );
var endLine = new LogEvent( LogType.Raw, $"E N D ************************************************************************************************************************", "", 0, "", "lib.time", null );
var timeLine = new LogEvent( LogType.Raw, $" D A T E {time.Year}/{time.Month.ToString("00")}/{time.Day.ToString("00")} T I M E {time.Hour.ToString("00")}:{time.Minute.ToString("00")}:{time.Second.ToString("00")}.{time.Millisecond.ToString("000")}{time.Microsecond.ToString("000")}", "", 0, "", "lib.time", null );
writeToAll( endLine );
writeToAll( blankLine );
writeToAll( blankLine );
writeToAll( beginLine );
writeToAll( blankLine );
writeToAll( timeLine );
writeToAll( blankLine );
while( s_running )
{
while( s_events.TryDequeue( out var evt ) )
@ -448,7 +467,7 @@ static public class log
static private string s_timeHeader = " ";
static public string msgHeader( LogEvent evt )
static public string headerPrint( LogEvent evt )
{
if( evt.LogType != LogType.Raw )
{
@ -458,8 +477,6 @@ static public class log
var truncatedCat = evt.Cat.Substring( 0, Math.Min( s_catWidth, evt.Cat.Length ) );
//var time = span.Milliseconds; // humanTime( secondSpan );
var timeHdr = $"{s_timeHeader}{span.Seconds.ToString("D2")}.{span.Milliseconds.ToString("000")}";
var msgHdr = string.Format( $"{timeHdr} | {{0,-{s_catWidth}}}{{1}}| ", truncatedCat, sym );
@ -473,9 +490,43 @@ static public class log
}
static public string msgFrom( LogEvent evt )
static public string headerFile( LogEvent evt )
{
var msgHdr = msgHeader( evt );
if( evt.LogType != LogType.Raw )
{
var span = evt.Time - s_startTime;
char sym = getSymbol( evt.LogType );
var truncatedCat = evt.Cat.Substring( 0, Math.Min( s_catWidth, evt.Cat.Length ) );
var timeHdr = $"{evt.Time.Year}-{evt.Time.Month.ToString("00")}-{evt.Time.Day.ToString("00")} {evt.Time.Hour.ToString("00")}:{evt.Time.Minute.ToString("00")}:{evt.Time.Second.ToString("00")}.{evt.Time.Millisecond.ToString("000")}";
var msgHdr = string.Format( $"{timeHdr} | {{0,-{s_catWidth}}}{{1}}| ", truncatedCat, sym );
return msgHdr;
}
else
{
return "";
}
}
static public string msgPrint( LogEvent evt )
{
var msgHdr = headerPrint( evt );
string finalLine = $"{msgHdr}{evt.Msg}";
return finalLine;
}
static public string msgFile( LogEvent evt )
{
var msgHdr = headerFile( evt );
string finalLine = $"{msgHdr}{evt.Msg}";
@ -534,17 +585,17 @@ static public class log
#region Write
var finalLine = msgFrom( evt );
if( ( s_endpoints & Endpoints.File ) == Endpoints.File )
{
s_writer.WriteLine( finalLine );
var line = msgFile( evt );
s_writer.WriteLine( line );
}
if( ( s_endpoints & Endpoints.Console ) == Endpoints.Console )
{
var line = msgPrint( evt );
setConsoleColor( evt );
Console.WriteLine( finalLine );
Console.WriteLine( line );
Console.ResetColor();
}