いい年こいてPython触ったらソッコーでハマった。目的はsyslog使うだけなんだよ。
ググっても答えを探せなかったんだけど回避できた。Pythonの歴史も何もわからないからしょうもないところでハマる模様(言い訳)。
手元のMac OS X EL Capitan(10.11.1)だと
MacOSX% python
Python 2.7.10 (default, Aug 22 2015, 20:33:39)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import syslog
>>> syslog.openlog('hoge', logoption=syslog.LOG_NDELAY, facility=syslog.LOG_LOCAL0)
とサックリ動くのにCentOS5(5.11)だと
CentOS5% python
Python 2.4.3 (#1, Jan 9 2013, 06:47:03)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import syslog
>>> syslog.openlog("hoge", logoption=syslog.LOG_NDELAY, facilit
y=syslog.LOG_LOCAL0)
Traceback (most recent call last):
File "", line 1, in ?
TypeError: openlog() takes no keyword arguments
と怒られてしまう。どうしたものか悩んだ結果,
>>> syslog.openlog("hoge",syslog.LOG_NDELAY, syslog.LOG_LOCAL0)
としたら黙った。MacOSXの方もlogoption=とfacility=を省いても通ったのでナシの方向で統一。これでいいのか!?w
なんとなく動くようになったのでPythonで書いたloggerモドキを晒してみる。
https://github.com/shigechika/py-logger
最近のコメント