Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "cells": [
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {},
- "outputs": [],
- "source": [
- "import sys\n",
- "import logging"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {},
- "outputs": [],
- "source": [
- "default = '\\033[0m'\n",
- "red = '\\033[31m'\n",
- "yellow = '\\033[33m'\n",
- "blue = '\\033[34m'\n",
- "gray = '\\033[37m'"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {},
- "outputs": [],
- "source": [
- "fmt = gray + '[{asctime}] %s{levelname}: {message}' + default\n",
- "time_fmt = '%H:%M:%S'\n",
- "\n",
- "error_formatter = logging.Formatter(fmt%(red), style='{')\n",
- "error_formatter.default_time_format = time_fmt\n",
- "\n",
- "warning_formatter = logging.Formatter(fmt%(yellow), style='{')\n",
- "warning_formatter.default_time_format = time_fmt\n",
- "\n",
- "info_formatter = logging.Formatter(fmt%(blue), style='{')\n",
- "info_formatter.default_time_format = time_fmt\n",
- "\n",
- "debug_formatter = logging.Formatter(fmt%(gray), style='{')\n",
- "debug_formatter.default_time_format = time_fmt"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {},
- "outputs": [],
- "source": [
- "class error_filter(logging.Filter):\n",
- " def filter(self, record):\n",
- " return logging.ERROR <= record.levelno\n",
- " \n",
- "class warning_filter(logging.Filter):\n",
- " def filter(self, record):\n",
- " return logging.WARNING <= record.levelno < logging.ERROR\n",
- "\n",
- "class info_filter(logging.Filter):\n",
- " def filter(self, record):\n",
- " return logging.INFO <= record.levelno < logging.WARNING\n",
- "\n",
- "class debug_filter(logging.Filter):\n",
- " def filter(self, record):\n",
- " return logging.DEBUG <= record.levelno < logging.INFO"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {},
- "outputs": [],
- "source": [
- "logger = logging.getLogger(__name__)\n",
- "\n",
- "error_handler = logging.StreamHandler(sys.stdout)\n",
- "error_handler.setFormatter(error_formatter)\n",
- "error_handler.addFilter(error_filter())\n",
- "error_handler.setLevel(logging.ERROR)\n",
- "\n",
- "warning_handler = logging.StreamHandler(sys.stdout)\n",
- "warning_handler.setFormatter(warning_formatter)\n",
- "warning_handler.addFilter(warning_filter())\n",
- "warning_handler.setLevel(logging.WARNING)\n",
- "\n",
- "info_handler = logging.StreamHandler(sys.stdout)\n",
- "info_handler.setFormatter(info_formatter)\n",
- "info_handler.addFilter(info_filter())\n",
- "info_handler.setLevel(logging.INFO)\n",
- "\n",
- "debug_handler = logging.StreamHandler(sys.stdout)\n",
- "debug_handler.setFormatter(debug_formatter)\n",
- "debug_handler.addFilter(debug_filter())\n",
- "debug_handler.setLevel(logging.DEBUG)\n",
- "\n",
- "logger.addHandler(error_handler)\n",
- "logger.addHandler(warning_handler)\n",
- "logger.addHandler(info_handler)\n",
- "logger.addHandler(debug_handler)\n",
- "logger.setLevel(logging.DEBUG)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[37m[23:08:50,567] \u001b[37mDEBUG: this is a debug message\u001b[0m\n",
- "\u001b[37m[23:08:50,568] \u001b[34mINFO: this is an info message\u001b[0m\n",
- "\u001b[37m[23:08:50,569] \u001b[33mWARNING: this is a warning message\u001b[0m\n",
- "\u001b[37m[23:08:50,570] \u001b[31mERROR: this is an error message\u001b[0m\n"
- ]
- }
- ],
- "source": [
- "logger.debug('this is a debug message')\n",
- "logger.info('this is an info message')\n",
- "logger.warning('this is a warning message')\n",
- "logger.error('this is an error message')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.6.5"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
- }
Add Comment
Please, Sign In to add comment