Use Klogctl from x/sys/unix to read Linux kernel log
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
This commit is contained in:
parent
e551e5a73d
commit
2841b05b71
1 changed files with 3 additions and 5 deletions
|
@ -1,17 +1,15 @@
|
|||
package dmesg // import "github.com/docker/docker/pkg/dmesg"
|
||||
|
||||
import (
|
||||
"unsafe"
|
||||
|
||||
"golang.org/x/sys/unix"
|
||||
)
|
||||
|
||||
// Dmesg returns last messages from the kernel log, up to size bytes
|
||||
func Dmesg(size int) []byte {
|
||||
t := uintptr(3) // SYSLOG_ACTION_READ_ALL
|
||||
t := 3 // SYSLOG_ACTION_READ_ALL
|
||||
b := make([]byte, size)
|
||||
amt, _, err := unix.Syscall(unix.SYS_SYSLOG, t, uintptr(unsafe.Pointer(&b[0])), uintptr(len(b)))
|
||||
if err != 0 {
|
||||
amt, err := unix.Klogctl(t, b)
|
||||
if err != nil {
|
||||
return []byte{}
|
||||
}
|
||||
return b[:amt]
|
||||
|
|
Loading…
Reference in a new issue