@@ -104,9 +104,6 @@ def __init__(self, require_configfile=True):
104104 self .add (None , None , "h" , "help" , self .help )
105105 self .add (None , None , "?" , None , self .help )
106106 self .add ("configfile" , None , "c:" , "configuration=" )
107- self .parse_criticals = []
108- self .parse_warnings = []
109- self .parse_infos = []
110107
111108 here = os .path .dirname (os .path .dirname (sys .argv [0 ]))
112109 searchpaths = [os .path .join (here , 'etc' , 'supervisord.conf' ),
@@ -393,45 +390,6 @@ def import_spec(self, spec):
393390 """On failure, raises either AttributeError or ImportError"""
394391 return import_spec (spec )
395392
396- def read_include_config (self , fp , parser , expansions ):
397- if parser .has_section ('include' ):
398- parser .expand_here (self .here )
399- if not parser .has_option ('include' , 'files' ):
400- raise ValueError (".ini file has [include] section, but no "
401- "files setting" )
402- files = parser .get ('include' , 'files' )
403- files = expand (files , expansions , 'include.files' )
404- files = files .split ()
405- if hasattr (fp , 'name' ):
406- base = os .path .dirname (os .path .abspath (fp .name ))
407- else :
408- base = '.'
409- for pattern in files :
410- pattern = os .path .join (base , pattern )
411- filenames = glob .glob (pattern )
412- if not filenames :
413- self .parse_warnings .append (
414- 'No file matches via include "%s"' % pattern )
415- continue
416- for filename in sorted (filenames ):
417- self .parse_infos .append (
418- 'Included extra file "%s" during parsing' % filename )
419- try :
420- parser .read (filename )
421- except ConfigParser .ParsingError as why :
422- raise ValueError (str (why ))
423- else :
424- parser .expand_here (
425- os .path .abspath (os .path .dirname (filename ))
426- )
427-
428- def _log_parsing_messages (self , logger ):
429- for msg in self .parse_criticals :
430- logger .critical (msg )
431- for msg in self .parse_warnings :
432- logger .warn (msg )
433- for msg in self .parse_infos :
434- logger .info (msg )
435393
436394class ServerOptions (Options ):
437395 user = None
@@ -490,6 +448,9 @@ def __init__(self):
490448 "s" , "silent" , flag = 1 , default = 0 )
491449 self .pidhistory = {}
492450 self .process_group_configs = []
451+ self .parse_criticals = []
452+ self .parse_warnings = []
453+ self .parse_infos = []
493454 self .signal_receiver = SignalReceiver ()
494455 self .poller = poller .Poller (self )
495456
@@ -618,8 +579,36 @@ def read_config(self, fp):
618579 expansions = {'here' :self .here ,
619580 'host_node_name' :host_node_name }
620581 expansions .update (self .environ_expansions )
621-
622- self .read_include_config (fp , parser , expansions )
582+ if parser .has_section ('include' ):
583+ parser .expand_here (self .here )
584+ if not parser .has_option ('include' , 'files' ):
585+ raise ValueError (".ini file has [include] section, but no "
586+ "files setting" )
587+ files = parser .get ('include' , 'files' )
588+ files = expand (files , expansions , 'include.files' )
589+ files = files .split ()
590+ if hasattr (fp , 'name' ):
591+ base = os .path .dirname (os .path .abspath (fp .name ))
592+ else :
593+ base = '.'
594+ for pattern in files :
595+ pattern = os .path .join (base , pattern )
596+ filenames = glob .glob (pattern )
597+ if not filenames :
598+ self .parse_warnings .append (
599+ 'No file matches via include "%s"' % pattern )
600+ continue
601+ for filename in sorted (filenames ):
602+ self .parse_infos .append (
603+ 'Included extra file "%s" during parsing' % filename )
604+ try :
605+ parser .read (filename )
606+ except ConfigParser .ParsingError as why :
607+ raise ValueError (str (why ))
608+ else :
609+ parser .expand_here (
610+ os .path .abspath (os .path .dirname (filename ))
611+ )
623612
624613 sections = parser .sections ()
625614 if not 'supervisord' in sections :
@@ -1499,7 +1488,12 @@ def make_logger(self):
14991488 maxbytes = self .logfile_maxbytes ,
15001489 backups = self .logfile_backups ,
15011490 )
1502- self ._log_parsing_messages (self .logger )
1491+ for msg in self .parse_criticals :
1492+ self .logger .critical (msg )
1493+ for msg in self .parse_warnings :
1494+ self .logger .warn (msg )
1495+ for msg in self .parse_infos :
1496+ self .logger .info (msg )
15031497
15041498 def make_http_servers (self , supervisord ):
15051499 from supervisor .http import make_http_servers
@@ -1674,11 +1668,6 @@ def realize(self, *arg, **kw):
16741668 if not self .args :
16751669 self .interactive = 1
16761670
1677- format = '%(levelname)s: %(message)s\n '
1678- logger = loggers .getLogger ()
1679- loggers .handle_stdout (logger , format )
1680- self ._log_parsing_messages (logger )
1681-
16821671 def read_config (self , fp ):
16831672 section = self .configroot .supervisorctl
16841673 need_close = False
@@ -1699,11 +1688,8 @@ def read_config(self, fp):
16991688 parser .read_file (fp )
17001689 except AttributeError :
17011690 parser .readfp (fp )
1702-
17031691 if need_close :
17041692 fp .close ()
1705- self .read_include_config (fp , parser , parser .expansions )
1706-
17071693 sections = parser .sections ()
17081694 if not 'supervisorctl' in sections :
17091695 raise ValueError ('.ini file does not include supervisorctl section' )
0 commit comments