File tree Expand file tree Collapse file tree 2 files changed +42
-0
lines changed Expand file tree Collapse file tree 2 files changed +42
-0
lines changed Original file line number Diff line number Diff line change 1+ #!/usr/bin/env python3
2+
3+ # demo the use of logger for large application
4+
5+ import logging
6+
7+
8+ def make_logger ():
9+ logger_ = logging .getLogger ()
10+ # set the default thresold to minimum
11+ logger_ .setLevel (logging .DEBUG )
12+ # set the default formatter
13+ default_formatter = logging .Formatter ('%(asctime)s - %(name)s - %(levelname)s - %(message)s' )
14+
15+ # create console handler with a higher log level
16+ console_handler = logging .StreamHandler ()
17+ console_handler .setLevel (logging .DEBUG )
18+ console_handler .setFormatter (default_formatter )
19+ logger_ .addHandler (console_handler )
20+
21+ # create file handler with a higher log level
22+ file_handler = logging .FileHandler (filename = "log.txt" , mode = "w" )
23+ file_handler .setLevel (logging .ERROR )
24+ file_handler_formatter = logging .Formatter ('%(asctime)s - %(levelname)s - %(pathname)s:%(lineno)s - %(message)s' )
25+ file_handler .setFormatter (file_handler_formatter )
26+ logger_ .addHandler (file_handler )
27+
28+ return logger_
29+
30+
31+ # global variable: logger obj can be accessible from any method
32+ logger = make_logger ()
33+
34+ if __name__ == '__main__' :
35+ # pattern 1
36+ logger .debug ("debug" )
37+ logger .info ("info" )
38+ logger .warning ("warning" )
39+ logger .error ("error" )
40+ logger .critical ("critical" )
Original file line number Diff line number Diff line change 1+ 2021-08-24 19:14:43,075 - ERROR - /home/kali/Dropbox/pentest/code_dev/python/core_concepts/logging/demo_logger.py:40 - error
2+ 2021-08-24 19:14:43,075 - CRITICAL - /home/kali/Dropbox/pentest/code_dev/python/core_concepts/logging/demo_logger.py:41 - critical
You can’t perform that action at this time.
0 commit comments