DrTrigon has submitted this change and it was merged.
Change subject: No handlers could be found for logger "pywiki" (1633)
......................................................................
No handlers could be found for logger "pywiki" (1633)
https://sourceforge.net/p/pywikipediabot/bugs/1633/
Change-Id: I0d63aa63bd88050e938cb5fc47b2ca79e098fb0d
---
M wikipedia.py
1 file changed, 30 insertions(+), 17 deletions(-)
Approvals:
DrTrigon: Verified; Looks good to me, approved
jenkins-bot: Verified
diff --git a/wikipedia.py b/wikipedia.py
index a044026..b3ed51f 100644
--- a/wikipedia.py
+++ b/wikipedia.py
@@ -9100,7 +9100,9 @@
if not logger:
init_handlers()
- if not logger.handlers: # init just once (if re-called)
+ logger = logging.getLogger('pywiki')
+ # three handlers allowed (Null, one for pwb.py, one for script)
+ if len(logger.handlers) < 3:
moduleName = calledModuleName()
if not moduleName:
moduleName = "terminal-interface"
@@ -9116,15 +9118,17 @@
fh = logging.handlers.RotatingFileHandler(filename=logfn,
maxBytes=1024 * config.logfilesize,
backupCount=config.logfilecount,
- encoding='utf-8')
+ encoding="utf-8")
else:
- ver = int( '%02i%02i' % tuple(sys.version_info)[:2] )
- kwargs = { 'when': 'midnight',
+ ver = int('%02i%02i' % tuple(sys.version_info)[:2])
+ kwargs = {'when': 'midnight',
#'encoding': 'bz2-codec')
- 'encoding': 'utf-8' }
+ 'encoding': "utf-8" }
+
if ver > int('0205'):
# For Python > 2.5 (added in version 2.6)
kwargs['utc'] = True
+
fh = logging.handlers.TimedRotatingFileHandler(logfn, **kwargs)
# patch for "Issue 8117: TimedRotatingFileHandler doesn't rotate
log
# file at startup."
@@ -9133,10 +9137,11 @@
if os.path.exists(logfn) and (ver == int('0206')):
t = os.stat(logfn).st_mtime
fh.rolloverAt = fh.computeRollover(t)
- fh.setLevel(DEBUG)
+
+ #fh.setLevel(DEBUG)
# create console handler with a higher log level
- ch = logging.StreamHandler()
- ch.setLevel(DEBUG)
+ #ch = logging.StreamHandler()
+ #ch.setLevel(DEBUG)
# create formatter and add it to the handlers (using LogRecord attributes)
formatter = logging.Formatter(
fmt="%(asctime)s %(caller_file)18s, %(caller_line)4s "
@@ -9149,12 +9154,10 @@
logger.addHandler(fh) # output to logfile
#logger.addHandler(ch) # output to terminal/shell console
- logger = logging.getLogger('pywiki')
+ if header:
+ writelogheader()
- if header:
- writelogheader()
-
- logger.propagate = enabled
+ #logger.propagate = enabled
def init_handlers(strm=None):#, logname=None, header=False):
"""Initialize logging system for terminal-based bots.
@@ -9200,13 +9203,23 @@
# for prompts requiring user response
logger = logging.getLogger() # root logger
- if logger.handlers: # init just once (if re-called)
- logger = logging.getLogger('pywiki')
- return
- logger.setLevel(DEBUG+1) # all records except DEBUG go to logger
+
+ nh = logging.NullHandler()
+ logger.addHandler(nh)
+ logger.setLevel(DEBUG+1)
+
if hasattr(logger, 'captureWarnings'):
logger.captureWarnings(True) # introduced in Python >= 2.7
+ logger = logging.getLogger('pywiki')
+ logger.addHandler(nh)
+ logger.setLevel(DEBUG)
+
+ logger.propagate = True
+
+ return
+
+
def writelogheader():
"""
Save additional version, system and status info to the logfile in use,
--
To view, visit
https://gerrit.wikimedia.org/r/85411
To unsubscribe, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I0d63aa63bd88050e938cb5fc47b2ca79e098fb0d
Gerrit-PatchSet: 2
Gerrit-Project: pywikibot/compat
Gerrit-Branch: master
Gerrit-Owner: Mpaa <mpaa.wiki(a)gmail.com>
Gerrit-Reviewer: Betacommand <betacommand(a)gmail.com>
Gerrit-Reviewer: DrTrigon <dr.trigon(a)surfeu.ch>
Gerrit-Reviewer: Ladsgroup <ladsgroup(a)gmail.com>
Gerrit-Reviewer: Legoktm <legoktm.wikipedia(a)gmail.com>
Gerrit-Reviewer: Merlijn van Deen <valhallasw(a)arctus.nl>
Gerrit-Reviewer: Mpaa <mpaa.wiki(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot