Guest User

Untitled

a guest
Jun 24th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.49 KB | None | 0 0
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "code",
  5. "execution_count": 1,
  6. "metadata": {},
  7. "outputs": [],
  8. "source": [
  9. "import sys\n",
  10. "import logging"
  11. ]
  12. },
  13. {
  14. "cell_type": "code",
  15. "execution_count": 2,
  16. "metadata": {},
  17. "outputs": [],
  18. "source": [
  19. "default = '\\033[0m'\n",
  20. "red = '\\033[31m'\n",
  21. "yellow = '\\033[33m'\n",
  22. "blue = '\\033[34m'\n",
  23. "gray = '\\033[37m'"
  24. ]
  25. },
  26. {
  27. "cell_type": "code",
  28. "execution_count": 3,
  29. "metadata": {},
  30. "outputs": [],
  31. "source": [
  32. "fmt = gray + '[{asctime}] %s{levelname}: {message}' + default\n",
  33. "time_fmt = '%H:%M:%S'\n",
  34. "\n",
  35. "error_formatter = logging.Formatter(fmt%(red), style='{')\n",
  36. "error_formatter.default_time_format = time_fmt\n",
  37. "\n",
  38. "warning_formatter = logging.Formatter(fmt%(yellow), style='{')\n",
  39. "warning_formatter.default_time_format = time_fmt\n",
  40. "\n",
  41. "info_formatter = logging.Formatter(fmt%(blue), style='{')\n",
  42. "info_formatter.default_time_format = time_fmt\n",
  43. "\n",
  44. "debug_formatter = logging.Formatter(fmt%(gray), style='{')\n",
  45. "debug_formatter.default_time_format = time_fmt"
  46. ]
  47. },
  48. {
  49. "cell_type": "code",
  50. "execution_count": 4,
  51. "metadata": {},
  52. "outputs": [],
  53. "source": [
  54. "class error_filter(logging.Filter):\n",
  55. " def filter(self, record):\n",
  56. " return logging.ERROR <= record.levelno\n",
  57. " \n",
  58. "class warning_filter(logging.Filter):\n",
  59. " def filter(self, record):\n",
  60. " return logging.WARNING <= record.levelno < logging.ERROR\n",
  61. "\n",
  62. "class info_filter(logging.Filter):\n",
  63. " def filter(self, record):\n",
  64. " return logging.INFO <= record.levelno < logging.WARNING\n",
  65. "\n",
  66. "class debug_filter(logging.Filter):\n",
  67. " def filter(self, record):\n",
  68. " return logging.DEBUG <= record.levelno < logging.INFO"
  69. ]
  70. },
  71. {
  72. "cell_type": "code",
  73. "execution_count": 5,
  74. "metadata": {},
  75. "outputs": [],
  76. "source": [
  77. "logger = logging.getLogger(__name__)\n",
  78. "\n",
  79. "error_handler = logging.StreamHandler(sys.stdout)\n",
  80. "error_handler.setFormatter(error_formatter)\n",
  81. "error_handler.addFilter(error_filter())\n",
  82. "error_handler.setLevel(logging.ERROR)\n",
  83. "\n",
  84. "warning_handler = logging.StreamHandler(sys.stdout)\n",
  85. "warning_handler.setFormatter(warning_formatter)\n",
  86. "warning_handler.addFilter(warning_filter())\n",
  87. "warning_handler.setLevel(logging.WARNING)\n",
  88. "\n",
  89. "info_handler = logging.StreamHandler(sys.stdout)\n",
  90. "info_handler.setFormatter(info_formatter)\n",
  91. "info_handler.addFilter(info_filter())\n",
  92. "info_handler.setLevel(logging.INFO)\n",
  93. "\n",
  94. "debug_handler = logging.StreamHandler(sys.stdout)\n",
  95. "debug_handler.setFormatter(debug_formatter)\n",
  96. "debug_handler.addFilter(debug_filter())\n",
  97. "debug_handler.setLevel(logging.DEBUG)\n",
  98. "\n",
  99. "logger.addHandler(error_handler)\n",
  100. "logger.addHandler(warning_handler)\n",
  101. "logger.addHandler(info_handler)\n",
  102. "logger.addHandler(debug_handler)\n",
  103. "logger.setLevel(logging.DEBUG)"
  104. ]
  105. },
  106. {
  107. "cell_type": "code",
  108. "execution_count": 6,
  109. "metadata": {},
  110. "outputs": [
  111. {
  112. "name": "stdout",
  113. "output_type": "stream",
  114. "text": [
  115. "\u001b[37m[23:08:50,567] \u001b[37mDEBUG: this is a debug message\u001b[0m\n",
  116. "\u001b[37m[23:08:50,568] \u001b[34mINFO: this is an info message\u001b[0m\n",
  117. "\u001b[37m[23:08:50,569] \u001b[33mWARNING: this is a warning message\u001b[0m\n",
  118. "\u001b[37m[23:08:50,570] \u001b[31mERROR: this is an error message\u001b[0m\n"
  119. ]
  120. }
  121. ],
  122. "source": [
  123. "logger.debug('this is a debug message')\n",
  124. "logger.info('this is an info message')\n",
  125. "logger.warning('this is a warning message')\n",
  126. "logger.error('this is an error message')"
  127. ]
  128. },
  129. {
  130. "cell_type": "code",
  131. "execution_count": null,
  132. "metadata": {},
  133. "outputs": [],
  134. "source": []
  135. },
  136. {
  137. "cell_type": "code",
  138. "execution_count": null,
  139. "metadata": {},
  140. "outputs": [],
  141. "source": []
  142. }
  143. ],
  144. "metadata": {
  145. "kernelspec": {
  146. "display_name": "Python 3",
  147. "language": "python",
  148. "name": "python3"
  149. },
  150. "language_info": {
  151. "codemirror_mode": {
  152. "name": "ipython",
  153. "version": 3
  154. },
  155. "file_extension": ".py",
  156. "mimetype": "text/x-python",
  157. "name": "python",
  158. "nbconvert_exporter": "python",
  159. "pygments_lexer": "ipython3",
  160. "version": "3.6.5"
  161. }
  162. },
  163. "nbformat": 4,
  164. "nbformat_minor": 2
  165. }
Add Comment
Please, Sign In to add comment