{"action":"created","issue":{"url":"https://api.github.com/repos/celery/billiard/issues/223","repository_url":"https://api.github.com/repos/celery/billiard","labels_url":"https://api.github.com/repos/celery/billiard/issues/223/labels{/name}","comments_url":"https://api.github.com/repos/celery/billiard/issues/223/comments","events_url":"https://api.github.com/repos/celery/billiard/issues/223/events","html_url":"https://github.com/celery/billiard/issues/223","id":228248557,"number":223,"title":"Python 3.6 - Broken Logger handling","user":{"login":"gdude2002","id":204153,"avatar_url":"https://avatars0.githubusercontent.com/u/204153?v=3","gravatar_id":"","url":"https://api.github.com/users/gdude2002","html_url":"https://github.com/gdude2002","followers_url":"https://api.github.com/users/gdude2002/followers","following_url":"https://api.github.com/users/gdude2002/following{/other_user}","gists_url":"https://api.github.com/users/gdude2002/gists{/gist_id}","starred_url":"https://api.github.com/users/gdude2002/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gdude2002/subscriptions","organizations_url":"https://api.github.com/users/gdude2002/orgs","repos_url":"https://api.github.com/users/gdude2002/repos","events_url":"https://api.github.com/users/gdude2002/events{/privacy}","received_events_url":"https://api.github.com/users/gdude2002/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-05-12T10:15:38Z","updated_at":"2017-05-18T14:09:51Z","closed_at":null,"body":"Billiard: `3.5.0.2` (from PyPi)\r\nPython: `3.6.1`\r\nArch Linux\r\n\r\n---\r\n\r\nSpecifically referring to [this line](https://github.com/celery/billiard/blob/4f9a9b56ade9c232f83f29ca03a22f9ccf275a1d/billiard/process.py#L309), it appears that under Python 3.6, loggers do not have `createLock`.\r\n\r\n```\r\n[2017-05-12 11:16:53,133: ERROR/PoolWorker-1] Process PoolWorker-1\r\nTraceback (most recent call last):\r\n  File \"/home/gdude2002/env/lib/python3.6/site-packages/billiard/process.py\", line 294, in _bootstrap\r\n    handler.createLock()\r\nAttributeError: 'Logger' object has no attribute 'createLock'\r\n[2017-05-12 11:16:53,134: WARNING/PoolWorker-1] Process PoolWorker-1:\r\n[2017-05-12 11:16:53,134: WARNING/PoolWorker-1] Traceback (most recent call last):\r\n[2017-05-12 11:16:53,134: WARNING/PoolWorker-1] File \"/home/gdude2002/env/lib/python3.6/site-packages/billiard/process.py\", line 294, in _bootstrap\r\n    handler.createLock()\r\n[2017-05-12 11:16:53,134: WARNING/PoolWorker-1] AttributeError: 'Logger' object has no attribute 'createLock'\r\n[2017-05-12 11:16:53,182: ERROR/PoolWorker-2] Process PoolWorker-2\r\nTraceback (most recent call last):\r\n  File \"/home/gdude2002/env/lib/python3.6/site-packages/billiard/process.py\", line 294, in _bootstrap\r\n    handler.createLock()\r\nAttributeError: 'Logger' object has no attribute 'createLock'\r\n[2017-05-12 11:16:53,183: WARNING/PoolWorker-2] Process PoolWorker-2:\r\n[2017-05-12 11:16:53,184: INFO/MainProcess] Connected to amqp://guest:**@127.0.0.1:5672//\r\n[2017-05-12 11:16:53,183: WARNING/PoolWorker-2] Traceback (most recent call last):\r\n[2017-05-12 11:16:53,188: WARNING/PoolWorker-2] File \"/home/gdude2002/env/lib/python3.6/site-packages/billiard/process.py\", line 294, in _bootstrap\r\n    handler.createLock()\r\n[2017-05-12 11:16:53,188: WARNING/PoolWorker-2] AttributeError: 'Logger' object has no attribute 'createLock'\r\n\r\n```\r\n\r\nHowever, handlers do. What's going on here?"},"comment":{"url":"https://api.github.com/repos/celery/billiard/issues/comments/302415026","html_url":"https://github.com/celery/billiard/issues/223#issuecomment-302415026","issue_url":"https://api.github.com/repos/celery/billiard/issues/223","id":302415026,"user":{"login":"gdude2002","id":204153,"avatar_url":"https://avatars0.githubusercontent.com/u/204153?v=3","gravatar_id":"","url":"https://api.github.com/users/gdude2002","html_url":"https://github.com/gdude2002","followers_url":"https://api.github.com/users/gdude2002/followers","following_url":"https://api.github.com/users/gdude2002/following{/other_user}","gists_url":"https://api.github.com/users/gdude2002/gists{/gist_id}","starred_url":"https://api.github.com/users/gdude2002/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gdude2002/subscriptions","organizations_url":"https://api.github.com/users/gdude2002/orgs","repos_url":"https://api.github.com/users/gdude2002/repos","events_url":"https://api.github.com/users/gdude2002/events{/privacy}","received_events_url":"https://api.github.com/users/gdude2002/received_events","type":"User","site_admin":false},"created_at":"2017-05-18T14:09:51Z","updated_at":"2017-05-18T14:09:51Z","body":"I was able to work around this by **never importing `logging` within any modules my task makes use of**. A logger is available from `celery.utils.log,get_task_logger(name)` instead.\r\n\r\nThis may be worth documenting somewhere."}}
{"actor":{"display_login":"gdude2002"}}