Để lấy thông tin thư viện nhật ký hệ thống UNIX, chúng ta cần sử dụng mô-đun nhật ký hệ thống vào các chương trình của mình. Mô-đun này có nhật ký hệ thống có các mô-đun khác nhau cho thư viện nhật ký hệ thống.
Để sử dụng mô-đun này, chúng ta nên nhập nó bằng cách sử dụng -
import syslog
Các phương pháp như dưới đây -
Phương thức syslog.syslog (tin nhắn) hoặc syslog.syslog (ưu tiên, tin nhắn)
Phương thức này được sử dụng để gửi một thông báo kiểu chuỗi đến trình ghi nhật ký hệ thống. Mỗi tin nhắn có một mức độ ưu tiên. Đối số ưu tiên có thể được sử dụng để đặt mức độ ưu tiên của thông báo đã cho.
Phương thức syslog.openlog ([danh tính [, logoption [, cơ sở]]])
Phương pháp này được sử dụng để ghi các tùy chọn ghi nhật ký của các cuộc gọi nhật ký hệ thống tiếp theo. Đối số nhận dạng là đối số kiểu chuỗi; nó được giả vờ cho mọi tin nhắn.
Phương thức syslog.closelog ()
Phương pháp này được sử dụng để đặt lại mô-đun nhật ký hệ thống. Khi mô-đun được nhập, mô-đun này sẽ chuyển sang trạng thái đó.
Phương thức syslog.setlogmask (maskpri)
Phương thức này được sử dụng để đặt mặt nạ ưu tiên thành maskpri, nó trả về giá trị mặt nạ trước đó. Khi không có ưu tiên, mặt nạ sẽ bị bỏ qua.
Mã mẫu
import syslog, sys syslog.openlog(sys.argv[0]) syslog.syslog(syslog.LOG_NOTICE, "This is a Log Notice") syslog.openlog()
Đầu ra
$ python3 posix_example.py $ sudo cat /var/log/syslog Oct 7 00:05:23 unix_user-VirtualBox anacron[14271]: Job `cron.daily' terminated Oct 7 00:05:23 unix_user-VirtualBox anacron[14271]: Normal exit (1 job run) Oct 7 00:17:01 unix_user-VirtualBox CRON[14396]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) Oct 7 00:22:35 unix_user-VirtualBox gnome-software[1599]: no app for changed [email protected] Oct 7 00:22:35 unix_user-VirtualBox gnome-software[1599]: no app for changed [email protected] Oct 7 00:22:36 unix_user-VirtualBox gnome-shell[1296]: [AppIndicatorSupport-DEBUG] Registering StatusNotifierItem :1.59/org/ayatana/NotificationItem/software_update_available Oct 7 00:22:37 unix_user-VirtualBox gvfsd-metadata[3664]: g_udev_device_has_property: assertion 'G_UDEV_IS_DEVICE (device)' failed Oct 7 00:22:37 unix_user-VirtualBox gvfsd-metadata[3664]: g_udev_device_has_property: assertion 'G_UDEV_IS_DEVICE (device)' failed Oct 7 00:25:47 unix_user-VirtualBox snapd[5511]: storehelpers.go:398: cannot refresh: snap has no updates available: "core", "gnome-3-26-1604", "gnome-calculator", "gnome-characters", "gnome-logs", "gnome-system-monitor", "gtk-common-themes" Oct 7 00:25:47 unix_user-VirtualBox snapd[5511]: autorefresh.go:387: auto-refresh: all snaps are up-to-date Oct 7 00:27:32 unix_user-VirtualBox example.py: This is a Log Notice