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)
|
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)
|
styleService := lipgloss.NewStyle().Bold(true)
|
||||||
padding := f.maxServiceWidth - len(serviceName)
|
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.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.
|
// PrintEntry prints a single log entry with proper formatting.
|
||||||
@@ -126,7 +130,7 @@ func (f *Formatter) PrintEntry(entry api.ServiceLogEntry) {
|
|||||||
output.WriteString(" ")
|
output.WriteString(" ")
|
||||||
|
|
||||||
// Service/container_id or service name for a systemd service.
|
// 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(" ")
|
output.WriteString(" ")
|
||||||
|
|
||||||
// Message
|
// Message
|
||||||
|
|||||||
@@ -76,6 +76,8 @@ type ServiceLogEntryMetadata struct {
|
|||||||
ContainerID string
|
ContainerID string
|
||||||
MachineID string
|
MachineID string
|
||||||
MachineName 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.
|
// LogEntry represents a single log entry from a container or a service.
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ func (cli *Client) ServiceLogs(
|
|||||||
ContainerID: ctr.Container.ID,
|
ContainerID: ctr.Container.ID,
|
||||||
MachineID: ctr.MachineID,
|
MachineID: ctr.MachineID,
|
||||||
MachineName: machineName,
|
MachineName: machineName,
|
||||||
|
Hook: ctr.Container.Config.Labels[api.LabelHook],
|
||||||
}
|
}
|
||||||
enrichedStream := logsStreamWithServiceMetadata(stream, metadata)
|
enrichedStream := logsStreamWithServiceMetadata(stream, metadata)
|
||||||
ctrStreams = append(ctrStreams, enrichedStream)
|
ctrStreams = append(ctrStreams, enrichedStream)
|
||||||
|
|||||||
Reference in New Issue
Block a user