ইউনিক্স সিসলগ লাইব্রেরি তথ্য পেতে হলে, আমাদের প্রোগ্রামে syslog মডিউল ব্যবহার করতে হবে। এই মডিউলে সিসলগ লাইব্রেরির জন্য ভিন্ন মডিউল রয়েছে।
এই মডিউল ব্যবহার করতে হলে, আমাদের এটি ইম্পোর্ট করতে হবে -
import syslog
মেথডগুলো নিচের মতো -
syslog.syslog(message) বা syslog.syslog(priority, message) মেথড
এই মেথড সিস্টেম লগারে একটি স্ট্রিং টাইপ মেসেজ পাঠাতে ব্যবহৃত হয়। প্রতিটি মেসেজের একটি প্রায়োরিটি থাকে। প্রায়োরিটি আর্গুমেন্ট ব্যবহার করে দেওয়া মেসেজের প্রায়োরিটি সেট করা যায়।
syslog.openlog([ident[, logoption[, facility]]]) মেথড
এই মেথড পরবর্তী সিসলগ কলগুলোর লগিং অপশন সেট করতে ব্যবহৃত হয়। ident আর্গুমেন্ট একটি স্ট্রিং টাইপ আর্গুমেন্ট; এটি প্রতিটি মেসেজের সাথে প্রিটেন্ড করা হয়।
syslog.closelog() মেথড
এই মেথড syslog মডিউলটি রিসেট করতে ব্যবহৃত হয়। যখন মডিউলটি ইম্পোর্ট করা হয়, তবে এই মডিউলটি সেই স্টেটে রয়েছে।
syslog.setlogmask(maskpri) মেথড
এই মেথড প্রায়োরিটি মাস্ককে maskpri-তে সেট করতে ব্যবহৃত হয়, এটি পূর্বের মাস্ক মান ফেরত দেয়। যখন কোনো প্রায়োরিটি নেই, তবে maskpri উপেক্ষা করা হয়।
উদাহরণ কোড
import syslog, sys syslog.openlog(sys.argv[0]) syslog.syslog(syslog.LOG_NOTICE, "This is a Log Notice") syslog.openlog()
আউটপুট
$ 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 ubuntu-dock@ubuntu.com Oct 7 00:22:35 unix_user-VirtualBox gnome-software[1599]: no app for changed ubuntu-appindicators@ubuntu.com 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