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"
|
package dmesg // import "github.com/docker/docker/pkg/dmesg"
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"unsafe"
|
|
||||||
|
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Dmesg returns last messages from the kernel log, up to size bytes
|
// Dmesg returns last messages from the kernel log, up to size bytes
|
||||||
func Dmesg(size int) []byte {
|
func Dmesg(size int) []byte {
|
||||||
t := uintptr(3) // SYSLOG_ACTION_READ_ALL
|
t := 3 // SYSLOG_ACTION_READ_ALL
|
||||||
b := make([]byte, size)
|
b := make([]byte, size)
|
||||||
amt, _, err := unix.Syscall(unix.SYS_SYSLOG, t, uintptr(unsafe.Pointer(&b[0])), uintptr(len(b)))
|
amt, err := unix.Klogctl(t, b)
|
||||||
if err != 0 {
|
if err != nil {
|
||||||
return []byte{}
|
return []byte{}
|
||||||
}
|
}
|
||||||
return b[:amt]
|
return b[:amt]
|
||||||
|
|
Loading…
Reference in a new issue