কম্পিউটার টিউটোরিয়াল

পাইথনে ইউনিক্স সিসলগ লাইব্রেরি রুটিনের ইন্টারফেস


ইউনিক্স সিসলগ লাইব্রেরি তথ্য পেতে হলে, আমাদের প্রোগ্রামে 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

  1. Scikit-learn এ মেশিন লার্নিং মডেল বিল্ডিং – পাইথন লাইব্রেরি

  2. পাইথনে লো-লেভেল নেটওয়ার্কিং ইন্টারফেস (socket)

  3. পাইথনে ইন্টিজারকে অক্টাল স্ট্রিংএ কনভার্ট কীভাবে করবেন?

  4. পাইথন ডেটকে Unix টাইমস্ট্যাম্পে কনভার্ট করার পদ্ধতি