Python
 Computer >> コンピューター >  >> プログラミング >> Python

UNIXのsyslogライブラリルーチンへのPythonインターフェイス


UNIXのsyslogライブラリ情報を取得するには、syslogモジュールをプログラムに使用する必要があります。このモジュールにはsyslogがあり、syslogライブラリ用にさまざまなモジュールがあります。

このモジュールを使用するには、-

を使用してインポートする必要があります
import syslog

方法は以下のようになります-

メソッドsyslog.syslog(message)またはsyslog.syslog(priority、message)

このメソッドは、文字列型のメッセージをシステムロガーに送信するために使用されます。各メッセージには優先順位があります。 priority引数を使用して、特定のメッセージの優先度を設定できます。

メソッドsyslog.openlog([ident [、logoption [、facility]]])

このメソッドは、後続のsyslog呼び出しのオプションをログに記録するために使用されます。 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での学習モデル構築:Python機械学習ライブラリ

    この記事では、Scikit-learn:Python MachineLearningLibraryでの学習モデルの構築について学習します。 無料の機械学習ライブラリです。ランダムフォレスト、ベクターマシン、k最近傍法などのさまざまなアルゴリズムをサポートし、numpyとscipyを直接実装します。 データセットのインポート import pandas Url = < specify your URL here> data=pandas.rad_csv(url) データの探索とクリーニング headメソッドを使用して、必要に応じてレコードを指定/フィルタリングできます。 data

  2. Pythonの低レベルネットワークインターフェース(ソケット)

    Pythonの標準ライブラリの「socket」モジュールは、サーバーとクライアントマシンがオペレーティングシステム上でソケットエンドポイントを使用して通信する方法を定義します。 socket APIには、コネクション型ネットワークプロトコルとコネクションレス型ネットワークプロトコルの両方の関数が含まれています。 ソケットは、双方向通信リンクのエンドポイントです。 IPアドレスとポート番号が特徴です。接続を開始するには、両端のソケットを適切に構成する必要があります。これにより、着信メッセージをリッスンし、クライアントサーバー環境で応答を送信できるようになります。 socketモジュールのso