কম্পিউটার

UNIX syslog লাইব্রেরি রুটিনে পাইথন ইন্টারফেস


UNIX syslog লাইব্রেরির তথ্য পেতে, আমাদের প্রোগ্রামগুলিতে syslog মডিউল ব্যবহার করতে হবে। এই মডিউলটিতে syslog এর syslog লাইব্রেরির জন্য বিভিন্ন মডিউল রয়েছে৷

এই মডিউলটি ব্যবহার করতে, আমাদের এটি −

ব্যবহার করে আমদানি করা উচিত
import syslog

পদ্ধতিগুলো নিচের মত -

পদ্ধতি syslog.syslog(বার্তা) বা syslog.syslog(অগ্রাধিকার, বার্তা)

এই পদ্ধতিটি সিস্টেম লগারে একটি স্ট্রিং টাইপ বার্তা পাঠাতে ব্যবহৃত হয়। প্রতিটি বার্তা একটি অগ্রাধিকার আছে. প্রদত্ত বার্তার অগ্রাধিকার সেট করতে অগ্রাধিকার যুক্তি ব্যবহার করা যেতে পারে।

পদ্ধতি syslog.openlog([ident[, logoption[, facility]]])

এই পদ্ধতিটি পরবর্তী syslog কলগুলির লগিং বিকল্পগুলিতে ব্যবহৃত হয়। আইডেন্ট আর্গুমেন্ট হল একটি স্ট্রিং টাইপ আর্গুমেন্ট; এটি প্রতিটি বার্তার ভান করা হয়৷

পদ্ধতি syslog.closelog()

এই পদ্ধতিটি syslog মডিউল রিসেট করতে ব্যবহৃত হয়। যখন মডিউলটি আমদানি করা হয়, তখন এই মডিউলটি সেই অবস্থায় পরিণত হয়।

পদ্ধতি syslog.setlogmask(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. স্কিট-লার্নে শেখার মডেল বিল্ডিং:একটি পাইথন মেশিন লার্নিং লাইব্রেরি

  2. পাইথনে নিম্ন-স্তরের নেটওয়ার্কিং ইন্টারফেস (সকেট)

  3. পাইথনে একটি পূর্ণসংখ্যাকে অক্টাল স্ট্রিংয়ে কীভাবে রূপান্তর করবেন?

  4. পাইথন তারিখকে ইউনিক্স টাইমস্ট্যাম্পে কীভাবে রূপান্তর করবেন?