No video

【Pythonプログラミング入門】ログ出力の基本(logging)を解説!〜VTuberと学習〜 【初心者向け】

  Рет қаралды 32,089

Pythonプログラミング VTuber サプー

Pythonプログラミング VTuber サプー

Күн бұрын

Пікірлер: 33
@narabanaze498
@narabanaze498 2 жыл бұрын
qiitaとかいろんな文字の記事見ても全然分からなくて困っていましたが、動画を見たらめちゃくちゃよく分かりました!本当に助かりました!ありがとうとざいました!
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
コメントありがとうございます!!私の動画がお役に立っていたら嬉しいです😊
@user-bl6mu7mf9y
@user-bl6mu7mf9y 7 ай бұрын
logは難しくて理解しきれなかったのが正直なところですが こーゆーものがあると知らなかったので勉強になりましたし イメージがつきました まだまだ未熟なのでいろんな動画を見させていただき pythonについてもっと勉強した後でまた見直したいです 素敵なツールをーありがとうございます
@borninokinawa
@borninokinawa 3 жыл бұрын
扱う内容がどれも面白いです、大変勉強になります。
@pythonvtuber9917
@pythonvtuber9917 3 жыл бұрын
コメントありがとうございます!!徐々に難易度をあげつつ、プログラミングで必要になってくると思うトピックを扱っているので、是非、色々みていただけたら嬉しいです😉
@user-ss6xv1xq8j
@user-ss6xv1xq8j 9 ай бұрын
可愛い!ありがとうございます!わかりやすい!
@ym-fk6im
@ym-fk6im 2 жыл бұрын
とてもわかりやすいです!ありがとうございました!
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
ご視聴いただきありがとうございます😊 ログ出力の理解の役に立っていたら嬉しいです!
@yozef0213
@yozef0213 10 ай бұрын
正にprintでやってた。知らないことを知らないというのは恐ろしい...。
@thomasluk4319
@thomasluk4319 2 жыл бұрын
To be honest, I dont know any Japanese, but still I found this channel very useful for some library
@thomasluk4319
@thomasluk4319 2 жыл бұрын
Question: Let say I would like to store 2 [INFO] output separately into 2 log files log1.txt and log2.txt. How can I create more than one logger?
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
Thank you for commenting! I suggest creating two loggers. ▶︎ stackoverflow.com/questions/39718895/python-multiple-logger-for-multiple-modules
@thomasluk4319
@thomasluk4319 2 жыл бұрын
​@@pythonvtuber9917 Thanks for your reply. "Multiple calls to getLogger() with the same name will return a reference to the same logger object" according to this, means I have to create a new object by assign a new name in getlogger
@user-pv6ht6hv9e
@user-pv6ht6hv9e 3 жыл бұрын
こんにちは。loggingの使い方を知れてよかったです! 質問なのですが、spyder等のコンソール上に出るエラーをそのまま出力する方法はないのでしょうか?
@pythonvtuber9917
@pythonvtuber9917 3 жыл бұрын
ご質問、ありがとうございます😊 Pythonのエラーをログに出力する方法についてはトレースバックという動画の中で説明・実演しているので、ぜひ見てみてください😉トレースバックの動画の4:30あたりからが参考になると思います! トレースバック ▶︎ kzfaq.info/get/bejne/f7ehe7qov5zOlmQ.html
@shunnel4376
@shunnel4376 2 жыл бұрын
大変参考になりました。 一点質問させてください。 loggerをマルチプロセスで使用する方法やヒントをご存知でしたらお教え頂けますと嬉しいです!
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
マルチプロセスでloggerを扱う方法ですが、公式サイトを見ると 「複数プロセス からの単一ファイルへのログ記録はサポート されません 。なぜなら、複数のプロセスをまたいで単一のファイルへのアクセスを直列化する標準の方法が Python には存在しないからです。複数のプロセスから単一ファイルへログ記録しなければならないなら、最も良い方法は、すべてのプロセスが SocketHandler に対してログ記録を行い、独立したプロセスとしてソケットサーバを動かすことです。」と記載されていますね! サンプルコードもあるので、以下のURLを参考にしていただけたらと思います! 参考 ▶︎ docs.python.org/ja/3/howto/logging-cookbook.html#logging-to-a-single-file-from-multiple-processes
@shunnel4376
@shunnel4376 2 жыл бұрын
丁寧なご回答ありがとうございます!参考にさせて頂きます。
@TaroHiro
@TaroHiro Жыл бұрын
エラー発生によりプログラムが停止した時だけエラー名と行番号とその時刻をerror.txtに残すことは可能でしょうか? イメージとしては、loggerが裏方で動いていて、handlerが条件に応じて出力してくれているといった感じでしょうか?
@pythonvtuber9917
@pythonvtuber9917 Жыл бұрын
実行するコード全体をtryで囲って(main関数とかの中で)、except: の中で「logger.exception("何かメッセージ") 」ってて書くと、やりたいことができるかな?と思います!
@user-cg6vd5tm1p
@user-cg6vd5tm1p 10 ай бұрын
ログにrootという文字がでてきてしまうのですが、出力しないようにする方法わかりますでしょうか?
@sumsum7083
@sumsum7083 3 жыл бұрын
こんにちは、わかりやすかったです 現場では作成したアプリに対して、logging module を設定してつかうのでしょうか どこでloggingが使われるのかイメージできません
@pythonvtuber9917
@pythonvtuber9917 3 жыл бұрын
ご視聴いただき、ありがとうございます😊はい、実際のアプリ開発でもlogging moduleを使って、errorやinfoを出力します! 例えば、想定外のデータが渡された場合はerrorを出力したり、ログイン情報の履歴としてユーザIDとログイン時間をinfoとして出力したりします😉
@take4ochia1
@take4ochia1 2 жыл бұрын
こんにちは、過去に作ったコードにログを出力するコードを追加したいのですが、コードどの部分(例えば頭)に書く必要があるのでしょうか? 例えばエラーがログ出力のブロックの前で起こってしまうとログが出ないとか。よろしくお願いします。
@pythonvtuber9917
@pythonvtuber9917 Жыл бұрын
どんなアプリ・プログラムに対して何を目的としてログを仕込みたいかで、どこで何の情報を出力するかが変わってくるので「一概にこれだけやればOK」とか言えないのですが、以下の記事の内容が参考になるかな、と思いました! qiita.com/nanasess/items/350e59b29cceb2f122b3#%E5%87%BA%E5%8A%9B%E3%82%BF%E3%82%A4%E3%83%9F%E3%83%B3%E3%82%B0
@tiiida387
@tiiida387 2 жыл бұрын
いつも大変参考になり本当に助かっています。loggingについてなんとなくイメージできました。 一点質問があります。 log.txtにどんどん追記さてていくということはわかったのですが、追記させずに上書きするにはどういった方法をとるのでしょうか? ご教示いただけましたら幸いです。
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
ご質問ありがとうございます! ログファイル出力時に上書きしない方法ですが、FileHandlerの引数にmode='w'という指定をしたら上書きがされないかと思います😉 ===================== handler = FileHandler('log.txt', mode='w')
@tiiida387
@tiiida387 2 жыл бұрын
@@pythonvtuber9917 様 お世話様です。早速の回答ありがとうございます。上記にしても追記されてしまいます。 handler=FileHandler('log.txt',mode='w')#上書き トレースバッグ4:30秒くらいの動画のコードをコピペして、上記のみ変えてみたのですがlog.txtはどんどん追記されている様子です。 お手数ではございますが、何卒、回答のほどお願いいたします。
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
ご返答、ありがとうございます😊 ご確認ですが、おっしゃっている「上書き」とは「1回のスクリプト実行の中で上書きしたい」ということでしょうか?私の認識では以下のようなイメージだったのですが、以下のようにログファイルを確認しても、追記になってしまっていますか? スクリプト実行して完了 → ログファイル確認 → スクリプト実行して完了 → ログファイル確認 (初回に確認したログを上書きしているはず)
@tiiida387
@tiiida387 2 жыл бұрын
@@pythonvtuber9917 様 お世話様です。 上記の認識で問題ありません。実際には スクリプト実行して完了 → ログファイル確認 → スクリプト実行して完了 → ログファイル確認 (初回に確認したログに追記してしまっている状態) お手数ですが、何卒、回答のほどお願いいたします 記載コードは以下になります。 logger=getLogger(__name__) handler=FileHandler('log.txt',mode='w')#wで上書きのはず・・・・ handler.setLevel(DEBUG) logger.setLevel(DEBUG) logger.addHandler(handler) def main(): try: 適当な関数() except Exception: t=traceback.format_exc() logger.debug(t) if __name__=='__main__': main()
@pythonvtuber9917
@pythonvtuber9917 2 жыл бұрын
ご返答ありがとうございます! うーん、私の環境では、以下のコードだとちゃんと上書きされるんですよね...🤔 念の為、以下のコードを別のファイルにコピーして保存して実行しても、追記となってしまうか試してもらっても良いですか?該当のコードを保存できているか(未保存ではないか?)、該当のコードを動かしているか(古いコードを動かしていないか?)をもう一度ご確認いただけたらと思います! また、お使いのOS, Pythonのバージョンについても教えていただけたらと思います! ==================== from logging import getLogger, FileHandler, DEBUG import traceback logger = getLogger(__name__) handler = FileHandler('./log_w.txt', mode='w') handler.setLevel(DEBUG) logger.setLevel(DEBUG) logger.addHandler(handler) def xxx(): print('xxxが呼ばれました') x = 10 / 0 return x def main(): try: xxx() except Exception: t = traceback.format_exc() logger.debug(t) if __name__ == '__main__': main()
@graphiteblack
@graphiteblack Жыл бұрын
お疲れ様です。できればVS codeで解説してほしかった。
Selenium IDE テストケースの作成デモ
1:06
株式会社 ICS
Рет қаралды 1 М.
هذه الحلوى قد تقتلني 😱🍬
00:22
Cool Tool SHORTS Arabic
Рет қаралды 46 МЛН
а ты любишь париться?
00:41
KATYA KLON LIFE
Рет қаралды 3,6 МЛН
Секрет фокусника! #shorts
00:15
Роман Magic
Рет қаралды 32 МЛН
Operating System Basics
23:16
Brian Will
Рет қаралды 660 М.
データ分析初心者のためのPythonオススメ勉強法
7:42
サトシのデータ分析部屋
Рет қаралды 13 М.
Modern Python logging
21:32
mCoding
Рет қаралды 179 М.
هذه الحلوى قد تقتلني 😱🍬
00:22
Cool Tool SHORTS Arabic
Рет қаралды 46 МЛН