github.com/mutagen-io/mutagen@v0.18.0-rc1/pkg/synchronization/logging.go (about)

     1  package synchronization
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/mutagen-io/mutagen/pkg/synchronization/core"
     7  )
     8  
     9  // formatPathForLogging adjusts a path for logging purposes.
    10  func formatPathForLogging(path string) string {
    11  	if path == "" {
    12  		return "<root>"
    13  	}
    14  	return path
    15  }
    16  
    17  // formatEntryForLogging formats an entry for logging purposes.
    18  func formatEntryForLogging(entry *core.Entry) string {
    19  	if entry == nil {
    20  		return "<non-existent>"
    21  	} else if entry.Kind == core.EntryKind_Directory {
    22  		return fmt.Sprintf("Directory (+%d content entries)", entry.Count()-1)
    23  	} else if entry.Kind == core.EntryKind_File {
    24  		if entry.Executable {
    25  			return fmt.Sprintf("Executable File (Digest %x)", entry.Digest)
    26  		}
    27  		return fmt.Sprintf("File (Digest %x)", entry.Digest)
    28  	} else if entry.Kind == core.EntryKind_SymbolicLink {
    29  		return fmt.Sprintf("Symbolic Link (Target %s)", entry.Target)
    30  	} else if entry.Kind == core.EntryKind_Untracked {
    31  		return "Untracked content"
    32  	} else if entry.Kind == core.EntryKind_Problematic {
    33  		return fmt.Sprintf("Problematic content (%s)", entry.Problem)
    34  	}
    35  	return "<unknown>"
    36  }