Δημοσιεύτηκε: 13 Αύγ 2012, 01:43
Ένα template για βασική χρήση logging.
To default log level ειναι το "error". Δίνει output
Για να το αλλαξουμε σε debug δίνουμε
Για να γράψουμε το output σε ένα αρχείο δίνουμε
- Μορφοποιημένος Κώδικας: Επιλογή όλων
-
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import logging
import argparse
LOGGING_LEVELS = {
'critical': logging.CRITICAL,
'error': logging.ERROR,
'warning': logging.WARNING,
'info': logging.INFO,
'debug': logging.DEBUG}
def main():
parser = argparse.ArgumentParser(
description="Program Summary",
version="0.0.0")
parser.add_argument(
"-l", help="Logging level", default="error", dest="logging_level",
choices=("debug", "info", "warning", "error", "critical"))
parser.add_argument("-f", help="Logging file name", dest="logging_filename")
options = parser.parse_args()
logging_level = LOGGING_LEVELS[options.logging_level]
logging_filename = options.logging_filename
logging.basicConfig(
level=logging_level,
filename=logging_filename,
datefmt='%Y-%m-%d %H:%M:%S',
format='%(asctime)s %(levelname)s: %(message)s')
#format="%(levelname)s: %(message)s")
# Your program goes here.
logging.debug("This is a debug message.")
logging.error("This is an error message.")
logging.critical("This is a critical message.")
if __name__ == "__main__":
main()
To default log level ειναι το "error". Δίνει output
- Κώδικας: Επιλογή όλων
$ python3 logging_template.py
2012-08-13 01:20:12 ERROR: This is an error message.
2012-08-13 01:20:12 CRITICAL: This is a critical message.
Για να το αλλαξουμε σε debug δίνουμε
- Κώδικας: Επιλογή όλων
$ python3 logging_template.py -l debug
2012-08-13 01:40:22 DEBUG: This is a debug message.
2012-08-13 01:40:22 ERROR: This is an error message.
2012-08-13 01:40:22 CRITICAL: This is a critical message.
Για να γράψουμε το output σε ένα αρχείο δίνουμε
- Κώδικας: Επιλογή όλων
$ python3 logging_template.py -f log.txt
$ cat log.txt
2012-08-13 01:42:25 ERROR: This is an error message.
2012-08-13 01:42:25 CRITICAL: This is a critical message.