提交 37760eb1 编写于 作者: P Pablo Hoffman

improved consistency of logging settings to use LOG_*

上级 f0689a9e
......@@ -29,7 +29,7 @@ How to set the log level
========================
You can set the log level using the `--loglevel/-L` command line option, or
using the :setting:`LOGLEVEL` setting.
using the :setting:`LOG_LEVEL` setting.
How to log messages
===================
......@@ -61,14 +61,14 @@ scrapy.log module
A boolean which is ``True`` is logging has been started or ``False`` otherwise.
.. function:: start(logfile=None, loglevel=None, log_stdout=None)
.. function:: start(logfile=None, loglevel=None, logstdout=None)
Start the logging facility. This must be called before actually logging any
messages. Otherwise, messages logged before this call will get lost.
``logfile`` is a string with the file path to use for logging output. If
omitted, :setting:`LOGFILE` setting will be used. If both are ``None``, log
will be sent to standard output (if ``log_stdout`` or :setting:`LOG_STDOUT` is
omitted, :setting:`LOG_FILE` setting will be used. If both are ``None``, log
will be sent to standard output (if ``logstdout`` or :setting:`LOG_STDOUT` is
``True``) or standard error (if ``log_stderr`` or :setting:`LOG_STDOUT` is
``False``).
......
......@@ -526,36 +526,36 @@ Default: ``True``
Enable logging.
.. setting:: LOG_STDOUT
LOG_STDOUT
----------
Default: ``False``
.. setting:: LOG_FILE
If enabled logging will be sent to standard output, otherwise standard error
will be used.
.. setting:: LOGFILE
LOGFILE
-------
LOG_FILE
--------
Default: ``None``
File name to use for logging output. If None, standard input (or error) will be
used depending on the value of the LOG_STDOUT setting.
.. setting:: LOGLEVEL
.. setting:: LOG_LEVEL
LOGLEVEL
--------
LOG_LEVEL
---------
Default: ``'DEBUG'``
Minimum level to log. Available levels are: CRITICAL, ERROR, WARNING,
INFO, DEBUG. For more info see :ref:`topics-logging`.
.. setting:: LOG_STDOUT
LOG_STDOUT
----------
Default: ``False``
If enabled logging will be sent to standard output, otherwise standard error
will be used.
.. setting:: MAIL_FROM
MAIL_FROM
......
......@@ -69,11 +69,11 @@ class ScrapyCommand(object):
def process_options(self, args, opts):
if opts.logfile:
settings.overrides['LOG_ENABLED'] = True
settings.overrides['LOGFILE'] = opts.logfile
settings.overrides['LOG_FILE'] = opts.logfile
if opts.loglevel:
settings.overrides['LOG_ENABLED'] = True
settings.overrides['LOGLEVEL'] = opts.loglevel
settings.overrides['LOG_LEVEL'] = opts.loglevel
if opts.nolog:
settings.overrides['LOG_ENABLED'] = False
......
LOGLEVEL='WARNING'
LOG_LEVEL='WARNING'
......@@ -103,8 +103,8 @@ ITEM_PIPELINES = []
LOG_ENABLED = True
LOG_STDOUT = False
LOGLEVEL = 'DEBUG'
LOGFILE = None
LOG_LEVEL = 'DEBUG'
LOG_FILE = None
MAIL_HOST = 'localhost'
MAIL_FROM = 'scrapy@localhost'
......
......@@ -34,12 +34,12 @@ log_level = DEBUG
started = False
def start(logfile=None, loglevel=None, log_stdout=None):
def start(logfile=None, loglevel=None, logstdout=None):
"""Initialize and start logging facility"""
global log_level, started
# set loglevel
loglevel = loglevel or settings['LOGLEVEL']
loglevel = loglevel or settings['LOG_LEVEL'] or settings['LOGLEVEL']
log_level = globals()[loglevel] if loglevel else DEBUG
if started or not settings.getbool('LOG_ENABLED'):
return
......@@ -47,11 +47,11 @@ def start(logfile=None, loglevel=None, log_stdout=None):
# set log observer
if log.defaultObserver: # check twisted log not already started
logfile = logfile or settings['LOGFILE']
log_stdout = log_stdout or settings.getbool('LOG_STDOUT')
logfile = logfile or settings['LOG_FILE'] or settings['LOGFILE']
logstdout = logstdout or settings.getbool('LOG_STDOUT')
file = open(logfile, 'a') if logfile else sys.stderr
log.startLogging(file, setStdout=log_stdout)
log.startLogging(file, setStdout=logstdout)
def msg(message, level=INFO, component=BOT_NAME, domain=None):
"""Log message according to the level"""
......
......@@ -19,7 +19,7 @@ class CoreStats(object):
def __init__(self):
stats.set_value('envinfo/user', getpass.getuser())
stats.set_value('envinfo/host', socket.gethostname())
stats.set_value('envinfo/logfile', settings['LOGFILE'])
stats.set_value('envinfo/logfile', settings['LOG_FILE'])
stats.set_value('envinfo/pid', os.getpid())
dispatcher.connect(self.stats_domain_opened, signal=stats_domain_opened)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册