私はPython3.4とFalcon1.0.0を使用しています。私はapache2を使って自分のファルコンアプリケーションを提供しています。今、私はファルコンアプリケーションにログを保存したいと思います。ファルコンのログを維持する方法
1
A
答えて
3
あなたは、次の方法を使用することができ、すなわちストアファイル「logger.py」の機能次:
import logging
import logging.handlers
import os
from datetime import datetime
import sys
# Logging Levels
# https://docs.python.org/3/library/logging.html#logging-levels
# CRITICAL 50
# ERROR 40
# WARNING 30
# INFO 20
# DEBUG 10
# NOTSET 0
def set_up_logging():
file_path = sys.modules[__name__].__file__
project_path = os.path.dirname(os.path.dirname(os.path.dirname(file_path)))
log_location = project_path + '/logs/'
if not os.path.exists(log_location):
os.makedirs(log_location)
current_time = datetime.now()
current_date = current_time.strftime("%Y-%m-%d")
file_name = current_date + '.log'
file_location = log_location + file_name
with open(file_location, 'a+'):
pass
logger = logging.getLogger(__name__)
format = '[%(asctime)s] [%(levelname)s] [%(message)s] [--> %(pathname)s [%(process)d]:]'
# To store in file
logging.basicConfig(format=format, filemode='a+', filename=file_location, level=logging.DEBUG)
# To print only
# logging.basicConfig(format=format, level=logging.DEBUG)
return logger
をだから今あなたは、何をログだけがこの関数を呼び出すと、ログに記録するものは何でもログインしたいとき。
は、一例としてこれを見てみましょう:
import falcon
import base64
import json
from logger import set_up_logging
logger = set_up_logging()
app = falcon.API()
app.add_route("/rec/", GetImage())
class GetImage:
def on_post(self, req, res):
json_data = json.loads(req.stream.read().decode('utf8'))
image_url = json_data['image_name']
base64encoded_image = json_data['image_data']
with open(image_url, "wb") as fh:
fh.write(base64.b64decode(base64encoded_image))
res.status = falcon.HTTP_203
res.body = json.dumps({'status': 1, 'message': 'success'})
logger.info("Image Server with image name : {}".format(image_name))
私は、これはあなたを助けることを願っています。
0
この点については、ファルコンのものは特にありません。実際、それが他のフレームワークと異なる点です。ファルコンでは、あなたが望むライブラリを自由に使用することができます。
私のプロジェクトのほとんどでは、標準のPythonモジュールlogging
で十分です。
関連する問題
- 1. 入出力ログを維持するR
- 2. jspでタスクをスケジュールし、ログ履歴を維持する方法は?
- 3. Facebookのフェイスブックセッションを維持する方法
- 4. ソケットのライブを維持する方法
- 5. ユーザーのログインを維持する方法
- 6. 春のログインセッションを維持する方法
- 7. ログインフォームのセッションを維持する方法
- 8. ライブストリーミングをバックグラウンドで維持する方法
- 9. クライアントサーバーアプリケーションでセッションを維持する方法
- 10. スワッガーエディタでセッションを維持する方法
- 11. MessageBoxにフォーカスを維持する方法
- 12. Rでワードクラウドレイアウトを維持する方法
- 13. Doctrineでイメージを維持する方法
- 14. セッション属性を維持する方法
- 15. Firebaseログインを維持する方法は?
- 16. アンドロイドアプリでタブを維持する方法
- 17. セッションを維持する方法
- 18. タイムゾーンを維持する方法
- 19. グローバルエラーリストを維持する方法は?
- 20. 固定数を維持する方法
- 21. ManyToManyを維持する方法
- 22. ゲームロジック - サッカー - ゴールキーパーキャッチレートを維持する方法
- 23. テーブル関係を維持する方法
- 24. ホバースルーでラインスルーを維持する方法
- 25. 3日間のログを維持する - Android
- 26. API Blueprintを使用してAPI変更ログを維持する最善の方法は何ですか?
- 27. ファルコンで電圧をフォワードする方法は?
- 28. ページ分割ファルコンをカスタマイズする方法は?
- 29. スタンフォード依存パーサーの句読法を維持する方法
- 30. 行列を1つの列にサブセット化する方法、行列のデータ型を維持する方法、行/列の名前を維持する方法
しかし、どこにログを保存するコードを入れるのですか?例えば、私のコードがon_get()メソッドで壊れている場合は、そのログをどのように格納するか。 – pikkupr