mirror of
https://github.com/psviderski/uncloud.git
synced 2026-08-26 11:03:34 +00:00
feat(logs): include hook information in log entry formatting
This commit is contained in:
@@ -82,7 +82,7 @@ func (f *Formatter) formatMachine(name string) string {
|
||||
return style.Render(name)
|
||||
}
|
||||
|
||||
func (f *Formatter) formatService(serviceName, containerID string) string {
|
||||
func (f *Formatter) formatService(serviceName, containerID, hook string) string {
|
||||
styleService := lipgloss.NewStyle().Bold(true)
|
||||
padding := f.maxServiceWidth - len(serviceName)
|
||||
|
||||
@@ -102,7 +102,11 @@ func (f *Formatter) formatService(serviceName, containerID string) string {
|
||||
return styleService.PaddingRight(padding).Render(serviceName)
|
||||
}
|
||||
|
||||
return styleService.Render(serviceName) + tui.Faint.PaddingRight(padding).Render("/"+containerID[:5])
|
||||
out := styleService.Render(serviceName) + tui.Faint.PaddingRight(padding).Render("/"+containerID[:5])
|
||||
if hook != "" {
|
||||
out += tui.Faint.Render(" [" + hook + "]")
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
// PrintEntry prints a single log entry with proper formatting.
|
||||
@@ -126,7 +130,7 @@ func (f *Formatter) PrintEntry(entry api.ServiceLogEntry) {
|
||||
output.WriteString(" ")
|
||||
|
||||
// Service/container_id or service name for a systemd service.
|
||||
output.WriteString(f.formatService(entry.Metadata.ServiceName, entry.Metadata.ContainerID))
|
||||
output.WriteString(f.formatService(entry.Metadata.ServiceName, entry.Metadata.ContainerID, entry.Metadata.Hook))
|
||||
output.WriteString(" ")
|
||||
|
||||
// Message
|
||||
|
||||
@@ -76,6 +76,8 @@ type ServiceLogEntryMetadata struct {
|
||||
ContainerID string
|
||||
MachineID string
|
||||
MachineName string
|
||||
// Hook is the hook type of the source container (e.g., "pre-deploy"). Empty for non-hook containers.
|
||||
Hook string
|
||||
}
|
||||
|
||||
// LogEntry represents a single log entry from a container or a service.
|
||||
|
||||
@@ -81,6 +81,7 @@ func (cli *Client) ServiceLogs(
|
||||
ContainerID: ctr.Container.ID,
|
||||
MachineID: ctr.MachineID,
|
||||
MachineName: machineName,
|
||||
Hook: ctr.Container.Config.Labels[api.LabelHook],
|
||||
}
|
||||
enrichedStream := logsStreamWithServiceMetadata(stream, metadata)
|
||||
ctrStreams = append(ctrStreams, enrichedStream)
|
||||
|
||||
Reference in New Issue
Block a user