いい年こいて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モドキを晒してみる。
最近のコメント