88
99import inspect
1010import logging
11+ import logging .handlers
1112import optparse
1213import os
1314
@@ -53,12 +54,20 @@ def main():
5354 parser .disable_interspersed_args () # stop when we hit an option without an '-'
5455 options , args = parser .parse_args ()
5556
56- # Set up logging to a file and to the console
57- logging .basicConfig (
58- filename = os .path .expandvars (os .path .join ('$WORKON_HOME' , 'hook.log' )),
59- level = logging .DEBUG ,
60- format = '%(asctime)s %(levelname)s %(name)s %(message)s' ,
57+ root_logger = logging .getLogger ('' )
58+
59+ # Set up logging to a file
60+ root_logger .setLevel (logging .DEBUG )
61+ file_handler = logging .handlers .RotatingFileHandler (
62+ os .path .expandvars (os .path .join ('$WORKON_HOME' , 'hook.log' )),
63+ maxBytes = 10240 ,
64+ backupCount = 1 ,
6165 )
66+ formatter = logging .Formatter ('%(asctime)s %(levelname)s %(name)s %(message)s' )
67+ file_handler .setFormatter (formatter )
68+ root_logger .addHandler (file_handler )
69+
70+ # Send higher-level messages to the console, too
6271 console = logging .StreamHandler ()
6372 console_level = [ logging .WARNING ,
6473 logging .INFO ,
@@ -67,7 +76,7 @@ def main():
6776 console .setLevel (console_level )
6877 formatter = logging .Formatter ('%(name)s %(message)s' )
6978 console .setFormatter (formatter )
70- logging . getLogger ( '' ) .addHandler (console )
79+ root_logger .addHandler (console )
7180
7281 #logging.getLogger(__name__).debug('cli args %s', args)
7382
0 commit comments