[解決済み] ロギング設定でsocket.SOCK_STREAMを使用すると「プロトコルがソケットのタイプとして間違っている」と表示される。
2022-02-14 11:31:54
質問
私は SysLogHandler をロギング設定ファイルに追加しました。
として
rsyslog
は私のリナックスボックス上で動作しているので、私は
socket.SOCK_STREAM
として
socktype
のキーワード引数です。
SysLogHandler
インスタンスを作成します。また
ドキュメント
には確かに書いてある。
TCPソケットを開くには(以下のような新しいシスログデーモンで使用するため)。 rsyslog)に、socket.SOCK_STREAMの値を指定します。
しかし、このようにハンドラを追加すると
log.addHandler(logging.handlers.SysLogHandler(address='/dev/log',
facility='mathmaker',
socktype=socket.SOCK_STREAM))
こんなエラーが出ます。
File "/home/zezo/dev/myapp/myapp", line 52, in <module>
socktype=socket.SOCK_STREAM))
File "/usr/lib/python3.4/logging/handlers.py", line 803, in __init__
self._connect_unixsocket(address)
File "/usr/lib/python3.4/logging/handlers.py", line 820, in _connect_unixsocket
self.socket.connect(address)
OSError: [Errno 91] Protocol wrong type for socket
rsyslogは/dev/logをリッスンしているようですが。
lsof | grep rsyslog
が表示されます。
rsyslogd 8090 syslog 0u unix 0xffff8800b413ce00 0t0 2739240 /dev/log
解決方法は?
unixのソケットでsocket.SOCK_STREAMを使用することはできないようです。
として、ドキュメントを読むのが早すぎたようです。
rsyslog のような新しい syslog デーモンで使用するため。
は、rsyslog が TCP ソケットを使用するように設定されていることを意味しません (そうなる可能性があるということだけです)。
関連
-
Pythonコンテナのための組み込み汎用関数操作
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
Pythonショートビデオクローラーチュートリアル
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み] Pythonで型をチェックする標準的な方法は何ですか?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】複数のモジュールでロギングを使用する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python call matlab メソッドの詳細
-
PicgoのイメージベッドツールをPythonで実装する
-
Python カメの描画コマンドとその例
-
Python百行で韓服サークルの画像クロールを実現する
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み] データ型が理解できない
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?