วิธีการสร้าง logfile ในภาษา Python ด้วย logging

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
jirawoot
PHP VIP Members
PHP VIP Members
Posts: 1097
Joined: 17/06/2019 10:30 am

วิธีการสร้าง logfile ในภาษา Python ด้วย logging

Post by jirawoot » 18/10/2019 1:21 pm

วิธีการสร้าง logfile ในภาษา Python ด้วย logging
สำหรับท่านใดที่กำลังหาวิธีการสร้าง logflie เพื่อใช้สำหรับดูสถานะหรือการใช้งาน การทำงานของโปรแกรมสามารถวิธีนี้ไปศึกษาและใช้งานได้นะครับก่อนอื่นเลยเรามารู้จักกับ logfile กันก่อนนะครับ
log file คือ ข้อมูลจราจรคอมพิมเตอร์ ที่เกี่ยวข้องกับการติดต่อสื่อสารของระบบคอมพิมเตอร์ จะแสดงต้นทาง ปลายทาง เส้นทาง เวลา วันที่ หรือ อื่นๆที่เกี่ยวกับการติดต่อสื่อสารของระบบคอมพิมเตอร์ และทาง พรบ.คอมพิวเตอร์นั้น ยังมีกฎหมายระบุให้เก็บ Log File เพื่อเป็นหลักฐานและสามารถสืบจนถึงจับตัวผู้ที่กระทำความผิดทางคอมพิวเตอร์ได้อย่างถูกต้อง ถ้าโปรแกรมไหนที่ไม่มี log file จะถูกลงโทษ ตามมาตราที่ 26 ของ พรบ.คอมพิวเตอร์ ปี 2560
สำหรับขั้นตอนการทำ log file ใน Python นั้น จะมีดังนี้
ขั้นตอนแรกให้ทำการ import module loging เข้ามาใช้งาน

Code: Select all

import loging
จากนั้นให้ทำการสร้างชื่อไฟล์ วันที่ ของ logfile ตามที่ต้องการ

Code: Select all

logging.basicConfig(filename='test.log',level=logging.DEBUG, format='%(asctime)s:%(levelname)s:%(message)s')
เมื่อทำการรันโปรแกรม จะสังเกตได้ว่ามีไฟล์สร้างขึ้นมา
Selection_999(015).png
Selection_999(015).png (2.96 KiB) Viewed 404 times
เราสามารถกำหนดค่าที่จะให้แสดงใน logflie ได้ด้วยคำสั่ง

Code: Select all

logging.debug( )
เช่น

Code: Select all

import logging
logging.basicConfig(filename='test.log',level=logging.DEBUG, format='%(asctime)s:%(levelname)s:%(message)s')
logging.debug('TEST LOGFILE')
ผลลัพท์ที่ได้นั้นเมื่อเข้าไปดูในไฟล์ Log แล้วจะเห็น TEST LOGFILE ดังรูป
Selection_999(017).png
Selection_999(017).png (13.46 KiB) Viewed 404 times
ตัวอย่าง Logfile

Code: Select all

2019-10-16 18:03:41,999:INFO: * Running on http://127.0.0.1:5001/ (Press CTRL+C to quit)
2019-10-16 18:03:41,999:INFO: * Restarting with stat
2019-10-16 18:03:42,122:WARNING: * Debugger is active!
2019-10-16 18:03:42,122:INFO: * Debugger PIN: 906-908-250
2019-10-16 18:04:11,114:INFO:127.0.0.1 - - [16/Oct/2019 18:04:11] "GET /view/1/www.google.co.th HTTP/1.1" 401 -
2019-10-16 18:04:17,471:DEBUG:m090 use convert HTML to PDF
2019-10-16 18:04:17,471:INFO:127.0.0.1 - - [16/Oct/2019 18:04:17] "GET /view/1/www.google.co.th HTTP/1.1" 200 -
2019-10-16 18:09:16,414:INFO: * Running on http://127.0.0.1:5001/ (Press CTRL+C to quit)
2019-10-16 18:09:16,415:INFO: * Restarting with stat
2019-10-16 18:09:16,566:WARNING: * Debugger is active!
2019-10-16 18:09:16,567:INFO: * Debugger PIN: 906-908-250
2019-10-16 18:09:53,847:INFO:127.0.0.1 - - [16/Oct/2019 18:09:53] "GET /view/1/https://www.google.co.th/ HTTP/1.1" 401 -
2019-10-16 18:09:58,615:DEBUG:m090 use convert HTML to PDF
2019-10-16 18:09:58,616:INFO:127.0.0.1 - - [16/Oct/2019 18:09:58] "GET /view/1/https://www.google.co.th/ HTTP/1.1" 200 -
2019-10-16 18:10:14,994:INFO:127.0.0.1 - - [16/Oct/2019 18:10:14] "GET /admin HTTP/1.1" 200 -
2019-10-16 18:10:15,015:INFO:127.0.0.1 - - [16/Oct/2019 18:10:15] "GET /static/js/jquery.min.js HTTP/1.1" 200 -
2019-10-16 18:10:15,016:INFO:127.0.0.1 - - [16/Oct/2019 18:10:15] "GET /static/js/bootstrap.min.js HTTP/1.1" 200 -
2019-10-16 18:10:15,016:INFO:127.0.0.1 - - [16/Oct/2019 18:10:15] "GET /static/css/bootstrap.min.css HTTP/1.1" 200 -
2019-10-16 18:10:31,263:DEBUG:Login : admin 
2019-10-16 18:10:31,264:INFO:127.0.0.1 - - [16/Oct/2019 18:10:31] "POST /admin HTTP/1.1" 302 -
2019-10-16 18:10:31,276:INFO:127.0.0.1 - - [16/Oct/2019 18:10:31] "GET /showdata HTTP/1.1" 200 -
2019-10-16 18:10:31,292:INFO:127.0.0.1 - - [16/Oct/2019 18:10:31] "GET /static/js/datatables.min.js HTTP/1.1" 200 -
2019-10-16 18:10:31,292:INFO:127.0.0.1 - - [16/Oct/2019 18:10:31] "GET /static/css/datatables.min.css HTTP/1.1" 200 -
2019-10-16 18:10:31,366:INFO:127.0.0.1 - - [16/Oct/2019 18:10:31] "GET /static/css/DataTables-1.10.18/images/sort_both.png HTTP/1.1" 200 -
2019-10-16 18:10:31,378:INFO:127.0.0.1 - - [16/Oct/2019 18:10:31] "GET /static/css/DataTables-1.10.18/images/sort_asc.png HTTP/1.1" 200 -
2019-10-16 18:19:05,258:INFO: * Running on http://127.0.0.1:5001/ (Press CTRL+C to quit)
2019-10-16 18:19:05,258:INFO: * Restarting with stat
2019-10-16 18:19:05,424:WARNING: * Debugger is active!
2019-10-16 18:19:05,425:INFO: * Debugger PIN: 906-908-250
2019-10-16 18:21:24,856:INFO:127.0.0.1 - - [16/Oct/2019 18:21:24] "GET /adduser HTTP/1.1" 200 -
2019-10-16 18:21:52,547:INFO:127.0.0.1 - - [16/Oct/2019 18:21:52] "POST /adduser HTTP/1.1" 500 -
2019-10-16 18:21:52,573:INFO:127.0.0.1 - - [16/Oct/2019 18:21:52] "GET /adduser?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 -
2019-10-16 18:21:52,583:INFO:127.0.0.1 - - [16/Oct/2019 18:21:52] "GET /adduser?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 -
2019-10-16 18:21:52,587:INFO:127.0.0.1 - - [16/Oct/2019 18:21:52] "GET /adduser?__debugger__=yes&cmd=resource&f=jquery.js HTTP/1.1" 200 -
2019-10-16 18:21:52,746:INFO:127.0.0.1 - - [16/Oct/2019 18:21:52] "GET /adduser?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
2019-10-16 18:21:52,765:INFO:127.0.0.1 - - [16/Oct/2019 18:21:52] "GET /adduser?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
2019-10-16 18:26:17,288:INFO:127.0.0.1 - - [16/Oct/2019 18:26:17] "POST /adduser HTTP/1.1" 500 -
2019-10-16 18:26:17,305:INFO:127.0.0.1 - - [16/Oct/2019 18:26:17] "GET /adduser?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 -
2019-10-16 18:26:17,307:INFO:127.0.0.1 - - [16/Oct/2019 18:26:17] "GET /adduser?__debugger__=yes&cmd=resource&f=jquery.js HTTP/1.1" 200 -
2019-10-16 18:26:17,308:INFO:127.0.0.1 - - [16/Oct/2019 18:26:17] "GET /adduser?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 -
2019-10-16 18:26:17,399:INFO:127.0.0.1 - - [16/Oct/2019 18:26:17] "GET /adduser?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
2019-10-16 18:26:17,405:INFO:127.0.0.1 - - [16/Oct/2019 18:26:17] "GET /adduser?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
2019-10-16 18:27:01,961:INFO: * Running on http://127.0.0.1:5001/ (Press CTRL+C to quit)
2019-10-16 18:27:01,962:INFO: * Restarting with stat
2019-10-16 18:27:02,123:WARNING: * Debugger is active!
2019-10-16 18:27:02,124:INFO: * Debugger PIN: 906-908-250
2019-10-16 18:27:10,506:INFO:127.0.0.1 - - [16/Oct/2019 18:27:10] "GET /admin HTTP/1.1" 200 -
2019-10-16 18:27:16,866:DEBUG:Login : admin 
2019-10-16 18:27:16,868:INFO:127.0.0.1 - - [16/Oct/2019 18:27:16] "POST /admin HTTP/1.1" 302 -
2019-10-16 18:27:16,880:INFO:127.0.0.1 - - [16/Oct/2019 18:27:16] "GET /showdata HTTP/1.1" 200 -
2019-10-16 18:27:22,959:INFO:127.0.0.1 - - [16/Oct/2019 18:27:22] "GET /adduser HTTP/1.1" 200 -
2019-10-16 18:27:39,998:INFO:127.0.0.1 - - [16/Oct/2019 18:27:39] "POST /adduser HTTP/1.1" 302 -
2019-10-16 18:27:40,003:INFO:127.0.0.1 - - [16/Oct/2019 18:27:40] "GET /showdata HTTP/1.1" 200 -
2019-10-16 18:45:05,423:DEBUG:m090 use convert HTML to PDF
2019-10-16 18:45:05,424:INFO:127.0.0.1 - - [16/Oct/2019 18:45:05] "GET /view/1/www.google.com HTTP/1.1" 200 -

อ้างอิง
https://docs.python.org/3.1/library/logging.html
https://realpython.com/python-logging/
https://stackoverflow.com/questions/6386698/how-to-write-to-a-file-using-the-logging-python-module


Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Python Knowledge”

Who is online

Users browsing this forum: Google [Bot] and 24 guests