Unlike other
languages, python logging is very simple, just import logging package, define
logger object and call logging methods to log messages.
import logging logger = logging.getLogger() logging.basicConfig(level=logging.DEBUG) def logMessages(): logger.debug("Debug message") logger.info("Information Message") logger.warn("Warning Message") logger.error("Error Message") logger.critical("Critical Message") if (__name__ == "__main__"): logMessages()
Run above
program, you will get following output.
DEBUG:root:Debug message INFO:root:Information Message WARNING:root:Warning Message ERROR:root:Error Message CRITICAL:root:Critical Message
Observe the
output, each log message includes the level and the description of the event
provided in the logging call. The root of the hierarchy of loggers is called
the root logger. The root logger’s name is printed as ‘root’ in the logged
output.
I don’t
specify any format for log messages. The default format is ‘severity:logger
name:message’. You can change this default formatting by passing format
argument to logging.basicConfig() method. Later posts explain how to format log
messages
logger = logging.getLogger()
‘getLogger()’
method returns a reference to a logger instance with the specified name if it
is provided. You can pass a name to getLogger method, it is optional. The names
are period-separated hierarchical structures like com.foo, com.foo.bar etc., I
will explain about this name hierarchy later.
logging.basicConfig(level=logging.DEBUG)
By using
this method, we can set the basic configuration for a logger. Above statement
sets the logging level to DEBUG. Default logging level is Warning.
‘basicConfig’
method support following arguments.
Argument
|
Description
|
filename
|
Specifies
the file name to store log messages
|
filemode
|
Specifies
the mode of the file, by default opens in append mode.
|
format
|
Used to
format log messages.
|
datefmt
|
Use the
specified date/time format.
|
style
|
If format
is specified, use this style for the format string.
|
level
|
Set the
root logger level to the specified level.
|
stream
|
Use the
specified stream to initialize the StreamHandler. You shouldn’t use filename
and stream together. If both are present, a ValueError is raised.
|
handler
|
Handlers
send the log records to the appropriate destination
|
No comments:
Post a Comment