zoukankan      html  css  js  c++  java
  • Day14:logging

    #The levels of logging:
    #print all levels:Critical>error>warning>info>debug
    #----------------------------------logging.basicConfig
     1 # import logging
     2 # logging.basicConfig(
     3 #         level=logging.DEBUG,
     4 #     #put them into files
     5 #         filename="logger.log",
     6 #         filemode="w",
     7 #         format=("%(asctime)s [%(lineno)d] %(message)s")
     8 #
     9 # )
    10 
    11 # logging.debug('hello')  #you can change the contents
    12 # logging.info('info message')  #*****uaually used
    13 # logging.warning('warning message')
    14 # logging.error('error message')
    15 # logging.critical('critical message')
    View Code
    #The result:
    # 2020-04-02 16:14:26,878 [13] hello
    # 2020-04-02 16:14:26,878 [14] info message
    # 2020-04-02 16:14:26,879 [15] warning message
    # 2020-04-02 16:14:26,879 [16] error message
    # 2020-04-02 16:14:26,879 [17] critical message
    #----------------------------------logger,show in files and the screan:
     1 import logging
     2 # def logger():
     3 #     logger=logging.getLogger()
     4 #
     5 #     fh = logging.FileHandler("test_log")
     6 #     ch = logging.StreamHandler()
     7 #
     8 #     fm = logging.Formatter("%(asctime)s %(message)s")
     9 #
    10 #     fh.setFormatter(fm)
    11 #     ch.setFormatter(fm)
    12 #
    13 #     logger.addHandler(fh)
    14 #     logger.addHandler(ch)
    15 #     logger.setLevel("DEBUG")
    16 #
    17 #     return logger
    18 # # #---------------------------
    19 # logger = logger()
    20 #
    21 # logger.debug("hello")
    22 # logger.info("hello")
    23 # logger.warning("hello")
    24 # logger.error("hello")
    25 # logger.critical("critical")
    View Code
    #########################################the relationship with parent and son level:
     1 import logging
     2 logger = logging.getLogger()
     3 
     4 logger1 = logging.getLogger('mylogger')  #mylogger the same
     5 logger1.setLevel(logging.DEBUG)
     6 
     7 # logger2 = logging.getLogger('mylogger.sontree')  #do not be the same because mylogger the same,will set as the laest one as print the info.
     8 # logger2.setLevel(logging.INFO)
     9 
    10 fh = logging.FileHandler("test_log-new")
    11 ch = logging.StreamHandler()
    12 
    13 logger.addHandler(fh)
    14 logger.addHandler(ch)
    15 
    16 logger1.addHandler(fh)
    17 logger1.addHandler(ch)
    18 
    19 # logger2.addHandler(fh)
    20 # logger2.addHandler(ch)
    21 
    22 
    23 logger.debug('logger debug message')
    24 logger.info('logger info message')
    25 logger.warning('logger warning message')
    26 logger.error('logger error message')
    27 logger.critical('logger critical message')
    28 
    29 logger1.debug('logger1 debug message')
    30 logger1.info('logger1 info message')
    31 logger1.warning('logger1 warning message')
    32 logger1.error('logger1 error message')
    33 logger1.critical('logger1 critical message')
    34 
    35 # logger2.debug('logger2 debug message')
    36 # logger2.info('logger2 info message')
    37 # logger2.warning('logger2 warning message')
    38 # logger2.error('logger2 error message')
    39 # logger2.critical('logger2 critical message')
    View Code
    #-----------result:Not true
    # logger1 info message
    # logger1 warning message
    # logger1 error message
    # logger1 critical message
    # logger2 info message
    # logger2 warning message
    # logger2 error message
    # logger2 critical message

    #---------------after add logger the results:when the parent have outlet the son level will print twice .
    # logger warning message
    # logger error message
    # logger critical message
    # logger1 debug message
    # logger1 debug message
    # logger1 info message
    # logger1 info message
    # logger1 warning message
    # logger1 warning message
    # logger1 error message
    # logger1 error message
    # logger1 critical message
    # logger1 critical message

    #method:close the parent then the son level can print normally.
  • 相关阅读:
    [Swift]LeetCode530. 二叉搜索树的最小绝对差 | Minimum Absolute Difference in BST
    [Swift]LeetCode521. 最长特殊序列 Ⅰ | Longest Uncommon Subsequence I
    [Swift]字符串大小写转换,同时实现本地化或设置语言环境
    [Swift]LeetCode520. 检测大写字母 | Detect Capital
    [Swift]LeetCode507. 完美数 | Perfect Number
    软件分类和商业机会
    软件分类和商业机会
    关于CSDN2013博客之星的一些看法
    关于CSDN2013博客之星的一些看法
    HTML中input标签maxlength属性的妙处
  • 原文地址:https://www.cnblogs.com/zxver/p/12621089.html
Copyright © 2011-2022 走看看