Tệp nhật ký được tạo bởi một start-up dài dòng trong OS X Lion ở đâu?


19

Sau khi khởi động máy của tôi ở chế độ dài dòng (cmd + v khi khởi động) Tôi muốn xem các thông điệp nhật ký được tạo, để gỡ lỗi một lỗi tôi nhận được ( lỗi ). Lỗi chỉ được hiển thị nhanh trên màn hình trong khi khởi động, trước khi máy khởi động lại. Kết quả là, không có thời gian để đọc nó đúng cách.

OS X có cung cấp một tệp nhật ký riêng cho các thông báo khởi động không, hay chúng được chôn trong các tệp kernel.log và system.log? Nếu chúng bị chôn vùi trong các tệp này, có cách nào nhanh chóng để chuyển đến điểm mà hệ thống khởi động, trong trình xem bảng điều khiển không?

Câu trả lời:


3

Bắt đầu từ ít nhất là Snow Leopard và có thể là Leopard, tất cả việc đăng nhập vào hệ thống đều thông qua cơ chế Nhật ký hệ thống của Apple (ASL), giống như một trình nền và cơ sở dữ liệu trung tâm cho tất cả các thông điệp tường trình. Daemon ASL cũng đảm bảo rằng thông điệp log thích hợp đáp ứng tiêu chí truyền thống nhất định được viết ra để các tập tin phẳng log văn bản truyền thống như system.logkernel.log, nhưng tất cả mọi thứ đi vào cơ sở dữ liệu ASL là tốt.

Để biết thêm thông tin, xem các trang người đàn ông cho syslog(1), logger(1), syslog(3), asl(3), syslog.conf(5), asl.conf(5), syslogd(8),, vv

Bạn có thể sử dụng syslog(1)để đưa ra các truy vấn đối với cơ sở dữ liệu ASL. Ngoài ra, /Utilities/Console.appcung cấp GUI để tạo và lưu các truy vấn tùy chỉnh cho cơ sở dữ liệu ASL.

Tôi khá chắc chắn rằng bộ đệm thông báo của kernel (được xem theo cách truyền thống dmesg(8)) được đưa vào cơ sở dữ liệu ASL ngay khi khởi động đủ syslogdđể chạy, do đó bạn không cần phải gọi dmesgtrực tiếp, ngoại trừ thông qua thói quen. Hoặc nếu hệ thống của bạn không khởi động đủ xa syslogdđể chạy.


Điều này có làm việc cho đôi giày trước? Vấn đề tôi gặp phải khi tôi viết câu hỏi này (được giải quyết ngay bây giờ, rất may) chỉ xảy ra không liên tục. Vì vậy, mỗi lần khởi động khác, đó là Kernel hoảng loạn và điều tôi muốn làm là vào lần khởi động thành công tiếp theo, xem lại tệp nhật ký, tìm lần khởi động trước và thử và gỡ lỗi.
purpletonic

@purpletonic Có, mọi thứ được gửi tới ASL sẽ được đặt trong cơ sở dữ liệu, trong đó nó được giữ mặc định là 7 ngày (điều này có thể được điều chỉnh bằng asl.conf(5)). Vì vậy, nếu bạn đang gỡ lỗi các vấn đề khởi động và khởi động lại nhiều lần trong cùng một ngày, chúng sẽ ở đó theo mặc định. Và nếu đó là vấn đề dài hạn, bạn có thể điều chỉnh thời gian lưu của ASL để giữ đồ đạc lâu hơn.
Spiff

Câu trả lời này không thực sự nói làm thế nào tôi có thể thấy đầu ra từ quá trình khởi động "dài dòng". Sau khi khởi động, dmesgchỉ hiển thị một số mục gần đây chứ không hiển thị nhật ký khởi động. Thử điều này vào ngày 10.12.6 - cũng không có tệp "kernel.log" nào nữa.
SuperTempel

11

Mở Terminal.app và chạy

sudo dmesg

(bạn sẽ được hỏi mật khẩu của bạn)

Điều này sẽ hiển thị các thông báo hệ thống từ lần khởi động cuối cùng cho đến bây giờ (bạn sẽ tìm thấy các thông báo khởi động ở đầu ra). Bạn có thể thử

sudo dmesg | hơn

điều này sẽ xuất ra những tin nhắn từng trang.


Tốt đẹp! Tôi sẽ sử dụng ít hơn thay vì nhiều hơn, nó thuận tiện hơn nhiều và không làm lộn xộn cuộn thiết bị đầu cuối của bạn.
SilverWolf - Phục hồi Monica

4

Câu trả lời được chấp nhận (bởi Spiff) không hữu ích với tôi, cũng không có kernel.log nữa.

Những gì hoạt động với tôi (trên macOS 10.12.6) là lệnh này:

log show --predicate "processID == 0" --start $(date "+%Y-%m-%d") --debug

Nó hiển thị tất cả các thông điệp kernel ngày nay, bao gồm cả quá trình khởi động. Nó cần một số dọn dẹp, nhưng ít nhất nó chứa tất cả những gì tôi cần tìm.


Điều này làm việc cho tôi quá. Cảm ơn bạn. Các câu trả lời khác cho thấy những thứ không nhất thiết liên quan đến khởi động hoặc không hiển thị CHÍNH XÁC những gì được in trong khi khởi động. Câu trả lời của bạn không +1. Và nó cũng được mã hóa màu!
Tối đa Coplan

2

Bản thân tôi tự hỏi làm thế nào để có được nhật ký phù hợp nhất với khởi động mà không cần truy cập vào bàn điều khiển / thiết bị đầu cuối. Nó bị lỗi khi khởi động nhưng bạn có thể truy cập vào hệ thống tệp thông qua đĩa cài đặt (tôi đã có sẵn một khởi động linux kép). Các tập tin là:

/var/log/kernel.log

Nếu bạn có thể truy cập bàn điều khiển trong hệ điều hành, tốt hơn hết là làm theo các đề xuất khác và sử dụng các lệnh thích hợp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.