Logs displayed twice.
まだ誰も着手していません。
評価
調査の方向性
Start with the Server.serve entry point and the logging configuration used by python-livereload when serving the Flask application. Reproduce the example and compare the two output formats; done means each server event is emitted only once while live reload and file watching still work.
索引モデルが issue の本文から書いたものです。
説明
I use python-livereload with flask.
@manager.command
def live():
"""
Starts a development server with live reload enabled.
"""
server = Server(app.wsgi_app)
server.watch(module_path + '/static/**/*.*')
server.watch(module_path + '/templates/*.*')
server.serve(port=5000)
Unfortunately logs are displayed twice.
[I 150616 14:31:09 server:271] Serving on http://127.0.0.1:5000
Tue, 16 Jun 2015 14:31:09 | INFO | Serving on http://127.0.0.1:5000
[I 150616 14:31:09 handlers:58] Start watching changes
Tue, 16 Jun 2015 14:31:09 | INFO | Start watching changes
[I 150616 14:31:09 handlers:60] Start detecting changes
Tue, 16 Jun 2015 14:31:09 | INFO | Start detecting changes
I can't find any parameters to control logging. Any ideas how I can deal with this ?
Thank you. :)
My logging tree before the serve method is called:
<--""
Level INFO
Handler Stream <open file '<stderr>', mode 'w' at 0x7f3c675ce1e0>
Level DEBUG
Formatter fmt='%(asctime)s | %(levelname)-8s | %(message)s' datefmt='%a, %d %b %Y %H:%M:%S'
Handler RotatingFile '/home/tim/Workspace/thedotabot/memories/server_logs.txt' maxBytes=10485760 backupCount=0
Level DEBUG
Formatter fmt='%(asctime)s | %(levelname)-8s | %(message)s' datefmt='%a, %d %b %Y %H:%M:%S'
|
o<--"alembic"
| Level NOTSET so inherits level INFO
| Handler <logging.NullHandler object at 0x7f3c62aa6690>
| |
| o<--[alembic.autogenerate]
| | |
| | o<--"alembic.autogenerate.api"
| | | Level NOTSET so inherits level INFO
| | |
| | o<--"alembic.autogenerate.compare"
| | | Level NOTSET so inherits level INFO
| | |
| | o<--"alembic.autogenerate.render"
| | Level NOTSET so inherits level INFO
| |
| o<--[alembic.ddl]
| | |
| | o<--"alembic.ddl.postgresql"
| | Level NOTSET so inherits level INFO
| |
| o<--"alembic.migration"
| | Level NOTSET so inherits level INFO
| |
| o<--"alembic.util"
| Level NOTSET so inherits level INFO
|
o<--[concurrent]
| |
| o<--"concurrent.futures"
| Level NOTSET so inherits level INFO
|
o<--[flask-admin]
| |
| o<--"flask-admin.sqla"
| Level NOTSET so inherits level INFO
|
o<--"livereload"
| Level NOTSET so inherits level INFO
|
o<--[oauth2client]
| |
| o<--"oauth2client.client"
| | Level NOTSET so inherits level INFO
| |
| o<--"oauth2client.crypt"
| | Level NOTSET so inherits level INFO
| |
| o<--"oauth2client.util"
| Level NOTSET so inherits level INFO
|
o<--"requests"
| Level NOTSET so inherits level INFO
| Handler <logging.NullHandler object at 0x7f3c611c7910>
| |
| o<--[requests.packages]
| |
| o<--"requests.packages.urllib3"
| Level NOTSET so inherits level INFO
| Handler <logging.NullHandler object at 0x7f3c611c7890>
| |
| o<--"requests.packages.urllib3.connectionpool"
| | Level NOTSET so inherits level INFO
| |
| o<--"requests.packages.urllib3.poolmanager"
| | Level NOTSET so inherits level INFO
| |
| o<--[requests.packages.urllib3.util]
| |
| o<--"requests.packages.urllib3.util.retry"
| Level NOTSET so inherits level INFO
|
o<--"sqlalchemy"
| Level WARNING
| |
| o<--[sqlalchemy.dialects]
| | |
| | o<--"sqlalchemy.dialects.postgresql"
| | Level NOTSET so inherits level WARNING
| |
| o<--[sqlalchemy.orm]
| |
| o<--[sqlalchemy.orm.dynamic]
| | |
| | o<--"sqlalchemy.orm.dynamic.DynaLoader"
| | Level NOTSET so inherits level WARNING
| |
| o<--[sqlalchemy.orm.mapper]
| | |
| | o<--"sqlalchemy.orm.mapper.Mapper"
| | Level NOTSET so inherits level WARNING
| |
| o<--"sqlalchemy.orm.path_registry"
| | Level NOTSET so inherits level WARNING
| |
| o<--[sqlalchemy.orm.properties]
| | |
| | o<--"sqlalchemy.orm.properties.ColumnProperty"
| | Level NOTSET so inherits level WARNING
| |
| o<--[sqlalchemy.orm.query]
| | |
| | o<--"sqlalchemy.orm.query.Query"
| | Level NOTSET so inherits level WARNING
| |
| o<--[sqlalchemy.orm.relationships]
| | |
| | o<--"sqlalchemy.orm.relationships.RelationshipProperty"
| | Level NOTSET so inherits level WARNING
| |
| o<--[sqlalchemy.orm.strategies]
| |
| o<--"sqlalchemy.orm.strategies.ColumnLoader"
| | Level NOTSET so inherits level WARNING
| |
| o<--"sqlalchemy.orm.strategies.DeferredColumnLoader"
| | Level NOTSET so inherits level WARNING
| |
| o<--"sqlalchemy.orm.strategies.JoinedLoader"
| | Level NOTSET so inherits level WARNING
| |
| o<--"sqlalchemy.orm.strategies.LazyLoader"
| | Level NOTSET so inherits level WARNING
| |
| o<--"sqlalchemy.orm.strategies.NoLoader"
| | Level NOTSET so inherits level WARNING
| |
| o<--"sqlalchemy.orm.strategies.SubqueryLoader"
| Level NOTSET so inherits level WARNING
|
o<--"stripe"
| Level NOTSET so inherits level INFO
|
o<--[tornado]
|
o<--"tornado.access"
| Level NOTSET so inherits level INFO
|
o<--"tornado.application"
| Level NOTSET so inherits level INFO
|
o<--"tornado.general"
Level NOTSET so inherits level INFO
- 主要言語
- Python
- スター
- 1.1k
- フォーク
- 149
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
lepture/python-livereload のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 70/100
lepture/python-livereload#159 · リアクション 3 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
lepture/python-livereload#288 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 38/100
lepture/python-livereload#283 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
lepture/python-livereload#282 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
lepture/python-livereload#279 ·
lepture/python-livereload の issue をすべて見る
似ている issue
-
bug needs-triage priority:medium
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
yeongseon/azure-functions-logging-python#583 ·
メンテナーはふだん 1 日以内に返信
-
documentation needs-triage priority:medium
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
yeongseon/azure-functions-validation-python#546 ·
メンテナーはふだん 1 日以内に返信
-
PHP workflow streaming requests buffer the full SSE response対応中かも @Winoren が今日担当しました。 オープンreview: medium
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
langgenius/dify#44270 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
P4: low
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
jeffknupp/association#523 ·
-
bug help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
DarkStarSystems/pcons#229 ·
メンテナーはふだん 1 日以内に返信