mirror of
https://github.com/containers/podman
synced 2024-10-20 17:23:30 +00:00
Merge pull request #5244 from Akasurde/i4962
Add cmd flag to show container name in log
This commit is contained in:
commit
a58bf77d3e
|
@ -260,6 +260,7 @@ type LogsValues struct {
|
|||
Tail int64
|
||||
Timestamps bool
|
||||
Latest bool
|
||||
UseName bool
|
||||
}
|
||||
|
||||
type MountValues struct {
|
||||
|
|
|
@ -37,6 +37,7 @@ var (
|
|||
return nil
|
||||
},
|
||||
Example: `podman logs ctrID
|
||||
podman logs --names ctrID1 ctrID2
|
||||
podman logs --tail 2 mywebserver
|
||||
podman logs --follow=true --since 10m ctrID
|
||||
podman logs mywebserver mydbserver`,
|
||||
|
@ -54,6 +55,7 @@ func init() {
|
|||
flags.StringVar(&logsCommand.Since, "since", "", "Show logs since TIMESTAMP")
|
||||
flags.Int64Var(&logsCommand.Tail, "tail", -1, "Output the specified number of LINES at the end of the logs. Defaults to -1, which prints all lines")
|
||||
flags.BoolVarP(&logsCommand.Timestamps, "timestamps", "t", false, "Output the timestamps in the log")
|
||||
flags.BoolVarP(&logsCommand.UseName, "names", "n", false, "Output the container name in the log")
|
||||
markFlagHidden(flags, "details")
|
||||
flags.SetInterspersed(false)
|
||||
|
||||
|
@ -85,6 +87,7 @@ func logsCmd(c *cliconfig.LogsValues) error {
|
|||
Since: sinceTime,
|
||||
Tail: c.Tail,
|
||||
Timestamps: c.Timestamps,
|
||||
UseName: c.UseName,
|
||||
}
|
||||
return runtime.Log(c, options)
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ func (c *Container) readFromLogFile(options *logs.LogOptions, logChannel chan *l
|
|||
if len(tailLog) > 0 {
|
||||
for _, nll := range tailLog {
|
||||
nll.CID = c.ID()
|
||||
nll.CName = c.Name()
|
||||
if nll.Since(options.Since) {
|
||||
logChannel <- nll
|
||||
}
|
||||
|
@ -63,6 +64,7 @@ func (c *Container) readFromLogFile(options *logs.LogOptions, logChannel chan *l
|
|||
partial = ""
|
||||
}
|
||||
nll.CID = c.ID()
|
||||
nll.CName = c.Name()
|
||||
if nll.Since(options.Since) {
|
||||
logChannel <- nll
|
||||
}
|
||||
|
|
|
@ -38,6 +38,7 @@ type LogOptions struct {
|
|||
Timestamps bool
|
||||
Multi bool
|
||||
WaitGroup *sync.WaitGroup
|
||||
UseName bool
|
||||
}
|
||||
|
||||
// LogLine describes the information for each line of a log
|
||||
|
@ -47,6 +48,7 @@ type LogLine struct {
|
|||
Time time.Time
|
||||
Msg string
|
||||
CID string
|
||||
CName string
|
||||
}
|
||||
|
||||
// GetLogFile returns an hp tail for a container given options
|
||||
|
@ -164,11 +166,16 @@ func getTailLog(path string, tail int) ([]*LogLine, error) {
|
|||
func (l *LogLine) String(options *LogOptions) string {
|
||||
var out string
|
||||
if options.Multi {
|
||||
cid := l.CID
|
||||
if len(cid) > 12 {
|
||||
cid = cid[:12]
|
||||
if options.UseName {
|
||||
cname := l.CName
|
||||
out = fmt.Sprintf("%s ", cname)
|
||||
} else {
|
||||
cid := l.CID
|
||||
if len(cid) > 12 {
|
||||
cid = cid[:12]
|
||||
}
|
||||
out = fmt.Sprintf("%s ", cid)
|
||||
}
|
||||
out = fmt.Sprintf("%s ", cid)
|
||||
}
|
||||
if options.Timestamps {
|
||||
out += fmt.Sprintf("%s ", l.Time.Format(LogTimeFormat))
|
||||
|
|
Loading…
Reference in a new issue