@@ -203,6 +203,10 @@ class Listener(abc.ABC):
203203 def error (self , handle , level , msg ):
204204 pass
205205
206+ @abc .abstractmethod
207+ def glog (self , level , msg ):
208+ pass
209+
206210 @abc .abstractmethod
207211 def tick (self ):
208212 pass
@@ -591,6 +595,11 @@ class TermListener(Listener):
591595 msg = msg .replace ('\\ n' , '\n ' ).split ('\n ' )
592596 self ._mbar .log (mark , [handle .filename ] + msg , color )
593597
598+ def glog (self , level , msg ):
599+ mark , color = LOGMARKS .get (level , LOGMARKS [None ])
600+ msg = msg .replace ('\\ n' , '\n ' ).split ('\n ' )
601+ self ._mbar .log (mark , msg , color )
602+
594603 @clib .contextmanager
595604 def start (self ):
596605 self ._mbar .term .echooff ()
@@ -640,6 +649,12 @@ class RawListener(Listener):
640649 else :
641650 self .log ('[{}] {}: {}' .format (mark , handle .filename , msg [0 ]))
642651
652+ def glog (self , level , msg ):
653+ mark , _ = LOGMARKS .get (level , LOGMARKS [None ])
654+ msg = msg .strip ('\n ' ).split ('\n ' )
655+ for submsg in msg :
656+ self .log ('[{}] {}' .format (mark , submsg ))
657+
643658 def tick (self ):
644659 pass
645660
@@ -658,7 +673,10 @@ def get_njobs():
658673
659674# --------------------------------------------------------------------
660675async def _run_all (options , allscripts , listener : Listener ):
661- semaphore = asyncio .Semaphore (options .jobs or get_njobs ())
676+ njobs = options .jobs or get_njobs ()
677+ semaphore = asyncio .Semaphore (njobs )
678+
679+ listener .glog ('info' , 'number of parallel jobs: {}' .format (njobs ))
662680
663681 async def runcheck (config ):
664682 async with semaphore :
0 commit comments