// string representation of a HeightLogs
string representation of a HeightLogs
// string representation of a HeightLogs
func (hl *HeightLogs) String() string {
	hl.mutex.RLock()
	defer hl.mutex.RUnlock()
	var sb strings.Builder
	sb.WriteString("HEIGHT LOGS\n\n")
	for processID, hvs := range hl.messageLogs {
		sb.WriteString("*** Process ")
		sb.WriteString(processID)
		sb.WriteString(" ***\n\n")
		sb.WriteString(hvs.String())
		sb.WriteString("------------------------------------------------------------------------------------------------------------------------\n\n")
	}
	return sb.String()
}
func ( hl * HeightLogs ) String ( ) string { hl . mutex . RLock ( ) defer hl . mutex . RUnlock ( ) var sb strings . Builder sb . WriteString ( " \n \n " ) for processID , hvs := range hl . messageLogs { sb . WriteString ( " " ) sb . WriteString ( processID ) sb . WriteString ( " \n \n " ) sb . WriteString ( hvs . String ( ) ) sb . WriteString ( " \n \n " ) } return sb . String ( ) }
string representation of a HeightLogs
string representation of a HeightLogs