固定与えられました。ここにレポをチェック - lilydjwgのヘルプ)は8つの位置引数を取りますが、11は
ソースコードpython-redis-log
handlers.py source codeためhttps://github.com/plantpark/python-redis-log感謝を
python-redis-logには何も存在しないようです1つは維持する。今はpython3.5と互換性がありません。 Python3.5に移行したい。ここでの質問は:
私は以下のコードを実行します。 "makeRecord()は8個の位置引数を取るが、11個は与えられた"というTypeErrorを返す。
# redis_log.py the same directory with handlers.py and logger.py
import handlers, logger
l = logger.RedisLogger('my.logger')
l.addHandler(handlers.RedisHandler.to("my:channel", host='localhost', port=6379, password='foobie'))
l.info("I like pie")
エラー:エラーが報告したように
Traceback (most recent call last):
File "redis_log.py", line 6, in <module>
l.error("I like pie")
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/logging/__init__.py", line 1309, in error
self._log(ERROR, msg, args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/logging/__init__.py", line 1415, in _log
exc_info, func, extra, sinfo)
TypeError: makeRecord() takes 8 positional arguments but 11 were given
、11個の位置の引数が指定されました。コードを何度もチェックしたところ、以下のコードに何か問題があったと思いました。しかし、私がユーザー名や名前などのいくつかのキーと値をコメントするとき、それを9つの引数にとどめました。エラーは同じでした。だから...バグはどこにありますか?それを見つけて修正する方法は?
# https://github.com/jedp/python-redis-log/blob/master/redislog/logger.py
# python-redis-log logger.py line 71
self._raw = {
#'name': name,
'level': levelAsString(lvl),
'filename': fn,
'line_no': self.lineno,
'msg': str(msg),
'args': list(args),
'time': datetime.datetime.utcnow(),
'funcname': self.funcname,
#'username': self.username,
'hostname': self.hostname,
'traceback': exc_info
}
あなたが投稿したコードに 'makeRecord'がどこにあるのかわかりません – doctorlove
@doctorloveペーストされたlogger.pyとhandlers.pyはここに直接リンクしています。もう一度チェックしてください。ありがとう! –