рд▓реЙрдЧрд┐рдВрдЧ - рдкрд╛рдпрдерди рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп

рдХрд┐рд╕реА рднреА рд╡рд┐рдХрд╛рд╕ рдореЗрдВ, рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЖрдкрдХреЛ рд▓реЙрдЧ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╡рд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд╣реАрдВ рджреЗрдВрдЧреЗ рдЬрд╣рд╛рдВ рдбрд┐рдмрдЧ рд╕рдВрджреЗрд╢ рдкреНрд░рд┐рдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд┐рдВрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдпрджрд┐ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЙрд╕реЗ рд▓реЙрдЧ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ (рдЕрдзрд┐рдХрд╛рдВрд╢ рдореЗрдВ) рдорд╛рдорд▓реЛрдВ), рдФрд░ рдЗрд╕рд▓рд┐рдП рдЕрдЬрдЧрд░ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рдФрд░ рдлрд┐рд░ рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдХрдВрд╕реЛрд▓ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ:

#log.py #!/usr/bin/python # -*- coding: utf-8 -*- import logging #   logging.debug( u'This is a debug message' ) #   logging.info( u'This is an info message' ) #   logging.warning( u'This is a warning' ) #   logging.error( u'This is an error message' ) #   logging.critical( u'FATAL!!!' ) 


рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░, рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:

 WARNING:root:This is a warning ERROR:root:This is an error message CRITICAL:root:FATAL!!! 


рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ, рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╣рдореЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕рдВрджреЗрд╢реЛрдВ рдФрд░ рд╕реВрдЪрдирд╛рддреНрдордХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ рдорд┐рд▓рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ рджреЗрдЦ рд╕рдХреЗрдВ рдХрд┐ рд╣рдореЗрдВ рд▓реЙрдЧрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕реНрддрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 logging.basicConfig(level = logging.DEBUG) 


рдореИрдВ рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдХреЙрд▓ рд╕реЗ рдкрд╣рд▓реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣рд╛рдВ рдХреЛрдб рд╣реИ:

 #log.py #!/usr/bin/python # -*- coding: utf-8 -*- import logging logging.basicConfig(level = logging.DEBUG) #   logging.debug( u'This is a debug message' ) #   logging.info( u'This is an info message' ) #   logging.warning( u'This is a warning' ) #   logging.error( u'This is an error message' ) #   logging.critical( u'FATAL!!!' ) 


рдЕрдм рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рд╕рднреА рд╕рдВрджреЗрд╢ рдорд┐рд▓рддреЗ рд╣реИрдВ:

 DEBUG:root:This is a debug message INFO:root:This is an info message WARNING:root:This is a warning ERROR:root:This is an error message CRITICAL:root:FATAL!!! 


рд▓реЗрдХрд┐рди рд╕рднреА рд╕рдорд╛рди, рдЗрд╕рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЖрдЙрдЯрдкреБрдЯ рдЦрд░рд╛рдм рд░реВрдк рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдк рд▓реЙрдЧрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╕рдВрджреЗрд╢ рдХрд╛ рдкреНрд░рд╛рд░реВрдк рднреА рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ ( рдпрд╣рд╛рдВ ) рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

 logging.basicConfig(format = u'%(filename)s[LINE:%(lineno)d]# %(levelname)-8s [%(asctime)s] %(message)s', level = logging.DEBUG) 


рдЕрдм рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рдпреЗ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддреЗ рд╣реИрдВ:
 log.py[LINE:33]# DEBUG [2012-05-25 00:11:58,466] This is a debug message log.py[LINE:34]# INFO [2012-05-25 00:11:58,466] This is an info message log.py[LINE:35]# WARNING [2012-05-25 00:11:58,466] This is a warning log.py[LINE:36]# ERROR [2012-05-25 00:11:58,467] This is an error message log.py[LINE:37]# CRITICAL [2012-05-25 00:11:58,467] FATAL!!! 


рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рдФрд░ рдЕрдзрд┐рдХ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдФрд░ рд╡рд╣ рд░реЗрдЦрд╛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрджреЗрд╢ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реЛрдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдХрд╛рдо рдХреЗ рджреМрд░рд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдлрд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдмреЗрд╣рддрд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╡рд╣рд╛рдВ рд▓рд┐рдЦреЗрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рднреА рд▓рд┐рдЦреЗрдВред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рд╣рдо рд▓реЙрдЧ рдХрд╣рд╛рдВ рд▓рд┐рдЦреЗрдВрдЧреЗ:
 logging.basicConfig(format = u'%(levelname)-8s [%(asctime)s] %(message)s', level = logging.DEBUG, filename = u'mylog.log') 


рдЕрдм рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓рд┐рдЦреЗрдВрдЧреЗ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рд▓рдХрдбрд╝рд╣рд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдЬреЛ рд▓рдХрдбрд╝рд╣рд╛рд░реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ, рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдСрдирд▓рд╛рдЗрди docs.python.org/library/logging.html

Source: https://habr.com/ru/post/In144566/


All Articles