# SOME DESCRIPTIVE TITLE. # Copyright (C) 1990-2016, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 2.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-10-30 10:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../Doc/library/logging.rst:2 msgid ":mod:`logging` --- Logging facility for Python" msgstr "" #: ../Doc/library/logging.rst:0 msgid "Important" msgstr "" #: ../Doc/library/logging.rst:16 msgid "" "This page contains the API reference information. For tutorial information " "and discussion of more advanced topics, see" msgstr "" #: ../Doc/library/logging.rst:19 msgid ":ref:`Basic Tutorial `" msgstr "" #: ../Doc/library/logging.rst:20 msgid ":ref:`Advanced Tutorial `" msgstr "" #: ../Doc/library/logging.rst:21 msgid ":ref:`Logging Cookbook `" msgstr "" #: ../Doc/library/logging.rst:23 msgid "**Source code:** :source:`Lib/logging/__init__.py`" msgstr "" #: ../Doc/library/logging.rst:29 msgid "" "This module defines functions and classes which implement a flexible event " "logging system for applications and libraries." msgstr "" #: ../Doc/library/logging.rst:32 msgid "" "The key benefit of having the logging API provided by a standard library " "module is that all Python modules can participate in logging, so your " "application log can include your own messages integrated with messages from " "third-party modules." msgstr "" #: ../Doc/library/logging.rst:37 msgid "" "The module provides a lot of functionality and flexibility. If you are " "unfamiliar with logging, the best way to get to grips with it is to see the " "tutorials (see the links on the right)." msgstr "" #: ../Doc/library/logging.rst:41 msgid "" "The basic classes defined by the module, together with their functions, are " "listed below." msgstr "" #: ../Doc/library/logging.rst:44 msgid "Loggers expose the interface that application code directly uses." msgstr "" #: ../Doc/library/logging.rst:45 msgid "" "Handlers send the log records (created by loggers) to the appropriate " "destination." msgstr "" #: ../Doc/library/logging.rst:47 msgid "" "Filters provide a finer grained facility for determining which log records " "to output." msgstr "" #: ../Doc/library/logging.rst:49 msgid "Formatters specify the layout of log records in the final output." msgstr "" #: ../Doc/library/logging.rst:55 msgid "Logger Objects" msgstr "" #: ../Doc/library/logging.rst:57 msgid "" "Loggers have the following attributes and methods. Note that Loggers are " "never instantiated directly, but always through the module-level function " "``logging.getLogger(name)``. Multiple calls to :func:`getLogger` with the " "same name will always return a reference to the same Logger object." msgstr "" #: ../Doc/library/logging.rst:62 msgid "" "The ``name`` is potentially a period-separated hierarchical value, like " "``foo.bar.baz`` (though it could also be just plain ``foo``, for example). " "Loggers that are further down in the hierarchical list are children of " "loggers higher up in the list. For example, given a logger with a name of " "``foo``, loggers with names of ``foo.bar``, ``foo.bar.baz``, and ``foo.bam`` " "are all descendants of ``foo``. The logger name hierarchy is analogous to " "the Python package hierarchy, and identical to it if you organise your " "loggers on a per-module basis using the recommended construction ``logging." "getLogger(__name__)``. That's because in a module, ``__name__`` is the " "module's name in the Python package namespace." msgstr "" #: ../Doc/library/logging.rst:78 msgid "" "If this evaluates to true, events logged to this logger will be passed to " "the handlers of higher level (ancestor) loggers, in addition to any handlers " "attached to this logger. Messages are passed directly to the ancestor " "loggers' handlers - neither the level nor filters of the ancestor loggers in " "question are considered." msgstr "" #: ../Doc/library/logging.rst:84 msgid "" "If this evaluates to false, logging messages are not passed to the handlers " "of ancestor loggers." msgstr "" #: ../Doc/library/logging.rst:87 msgid "The constructor sets this attribute to ``True``." msgstr "" #: ../Doc/library/logging.rst:89 msgid "" "If you attach a handler to a logger *and* one or more of its ancestors, it " "may emit the same record multiple times. In general, you should not need to " "attach a handler to more than one logger - if you just attach it to the " "appropriate logger which is highest in the logger hierarchy, then it will " "see all events logged by all descendant loggers, provided that their " "propagate setting is left set to ``True``. A common scenario is to attach " "handlers only to the root logger, and to let propagation take care of the " "rest." msgstr "" #: ../Doc/library/logging.rst:100 msgid "" "Sets the threshold for this logger to *lvl*. Logging messages which are less " "severe than *lvl* will be ignored. When a logger is created, the level is " "set to :const:`NOTSET` (which causes all messages to be processed when the " "logger is the root logger, or delegation to the parent when the logger is a " "non-root logger). Note that the root logger is created with level :const:" "`WARNING`." msgstr "" #: ../Doc/library/logging.rst:106 msgid "" "The term 'delegation to the parent' means that if a logger has a level of " "NOTSET, its chain of ancestor loggers is traversed until either an ancestor " "with a level other than NOTSET is found, or the root is reached." msgstr "" #: ../Doc/library/logging.rst:110 msgid "" "If an ancestor is found with a level other than NOTSET, then that ancestor's " "level is treated as the effective level of the logger where the ancestor " "search began, and is used to determine how a logging event is handled." msgstr "" #: ../Doc/library/logging.rst:114 msgid "" "If the root is reached, and it has a level of NOTSET, then all messages will " "be processed. Otherwise, the root's level will be used as the effective " "level." msgstr "" #: ../Doc/library/logging.rst:117 ../Doc/library/logging.rst:358 msgid "See :ref:`levels` for a list of levels." msgstr "" #: ../Doc/library/logging.rst:122 msgid "" "Indicates if a message of severity *lvl* would be processed by this logger. " "This method checks first the module-level level set by ``logging." "disable(lvl)`` and then the logger's effective level as determined by :meth:" "`getEffectiveLevel`." msgstr "" #: ../Doc/library/logging.rst:130 msgid "" "Indicates the effective level for this logger. If a value other than :const:" "`NOTSET` has been set using :meth:`setLevel`, it is returned. Otherwise, the " "hierarchy is traversed towards the root until a value other than :const:" "`NOTSET` is found, and that value is returned. The value returned is an " "integer, typically one of :const:`logging.DEBUG`, :const:`logging.INFO` etc." msgstr "" #: ../Doc/library/logging.rst:140 msgid "" "Returns a logger which is a descendant to this logger, as determined by the " "suffix. Thus, ``logging.getLogger('abc').getChild('def.ghi')`` would return " "the same logger as would be returned by ``logging.getLogger('abc.def." "ghi')``. This is a convenience method, useful when the parent logger is " "named using e.g. ``__name__`` rather than a literal string." msgstr "" #: ../Doc/library/logging.rst:151 msgid "" "Logs a message with level :const:`DEBUG` on this logger. The *msg* is the " "message format string, and the *args* are the arguments which are merged " "into *msg* using the string formatting operator. (Note that this means that " "you can use keywords in the format string, together with a single dictionary " "argument.)" msgstr "" #: ../Doc/library/logging.rst:156 ../Doc/library/logging.rst:783 msgid "" "There are two keyword arguments in *kwargs* which are inspected: *exc_info* " "which, if it does not evaluate as false, causes exception information to be " "added to the logging message. If an exception tuple (in the format returned " "by :func:`sys.exc_info`) is provided, it is used; otherwise, :func:`sys." "exc_info` is called to get the exception information." msgstr "" #: ../Doc/library/logging.rst:162 msgid "" "The second keyword argument is *extra* which can be used to pass a " "dictionary which is used to populate the __dict__ of the LogRecord created " "for the logging event with user-defined attributes. These custom attributes " "can then be used as you like. For example, they could be incorporated into " "logged messages. For example::" msgstr "" #: ../Doc/library/logging.rst:174 msgid "would print something like ::" msgstr "" #: ../Doc/library/logging.rst:178 ../Doc/library/logging.rst:804 msgid "" "The keys in the dictionary passed in *extra* should not clash with the keys " "used by the logging system. (See the :class:`Formatter` documentation for " "more information on which keys are used by the logging system.)" msgstr "" #: ../Doc/library/logging.rst:182 ../Doc/library/logging.rst:808 msgid "" "If you choose to use these attributes in logged messages, you need to " "exercise some care. In the above example, for instance, the :class:" "`Formatter` has been set up with a format string which expects 'clientip' " "and 'user' in the attribute dictionary of the LogRecord. If these are " "missing, the message will not be logged because a string formatting " "exception will occur. So in this case, you always need to pass the *extra* " "dictionary with these keys." msgstr "" #: ../Doc/library/logging.rst:189 ../Doc/library/logging.rst:815 msgid "" "While this might be annoying, this feature is intended for use in " "specialized circumstances, such as multi-threaded servers where the same " "code executes in many contexts, and interesting conditions which arise are " "dependent on this context (such as remote client IP address and " "authenticated user name, in the above example). In such circumstances, it is " "likely that specialized :class:`Formatter`\\ s would be used with " "particular :class:`Handler`\\ s." msgstr "" #: ../Doc/library/logging.rst:199 msgid "" "Logs a message with level :const:`INFO` on this logger. The arguments are " "interpreted as for :meth:`debug`." msgstr "" #: ../Doc/library/logging.rst:205 msgid "" "Logs a message with level :const:`WARNING` on this logger. The arguments are " "interpreted as for :meth:`debug`." msgstr "" #: ../Doc/library/logging.rst:211 msgid "" "Logs a message with level :const:`ERROR` on this logger. The arguments are " "interpreted as for :meth:`debug`." msgstr "" #: ../Doc/library/logging.rst:217 msgid "" "Logs a message with level :const:`CRITICAL` on this logger. The arguments " "are interpreted as for :meth:`debug`." msgstr "" #: ../Doc/library/logging.rst:223 msgid "" "Logs a message with integer level *lvl* on this logger. The other arguments " "are interpreted as for :meth:`debug`." msgstr "" #: ../Doc/library/logging.rst:229 msgid "" "Logs a message with level :const:`ERROR` on this logger. The arguments are " "interpreted as for :meth:`debug`, except that any passed *exc_info* is not " "inspected. Exception info is always added to the logging message. This " "method should only be called from an exception handler." msgstr "" #: ../Doc/library/logging.rst:237 msgid "Adds the specified filter *filt* to this logger." msgstr "" #: ../Doc/library/logging.rst:242 msgid "Removes the specified filter *filt* from this logger." msgstr "" #: ../Doc/library/logging.rst:247 msgid "" "Applies this logger's filters to the record and returns a true value if the " "record is to be processed. The filters are consulted in turn, until one of " "them returns a false value. If none of them return a false value, the record " "will be processed (passed to handlers). If one returns a false value, no " "further processing of the record occurs." msgstr "" #: ../Doc/library/logging.rst:256 msgid "Adds the specified handler *hdlr* to this logger." msgstr "" #: ../Doc/library/logging.rst:261 msgid "Removes the specified handler *hdlr* from this logger." msgstr "" #: ../Doc/library/logging.rst:266 msgid "" "Finds the caller's source filename and line number. Returns the filename, " "line number and function name as a 3-element tuple." msgstr "" #: ../Doc/library/logging.rst:269 msgid "" "The function name was added. In earlier versions, the filename and line " "number were returned as a 2-element tuple." msgstr "" #: ../Doc/library/logging.rst:275 msgid "" "Handles a record by passing it to all handlers associated with this logger " "and its ancestors (until a false value of *propagate* is found). This method " "is used for unpickled records received from a socket, as well as those " "created locally. Logger-level filtering is applied using :meth:`~Logger." "filter`." msgstr "" #: ../Doc/library/logging.rst:283 msgid "" "This is a factory method which can be overridden in subclasses to create " "specialized :class:`LogRecord` instances." msgstr "" #: ../Doc/library/logging.rst:286 msgid "*func* and *extra* were added." msgstr "" #: ../Doc/library/logging.rst:293 msgid "Logging Levels" msgstr "" #: ../Doc/library/logging.rst:295 msgid "" "The numeric values of logging levels are given in the following table. These " "are primarily of interest if you want to define your own levels, and need " "them to have specific values relative to the predefined levels. If you " "define a level with the same numeric value, it overwrites the predefined " "value; the predefined name is lost." msgstr "" #: ../Doc/library/logging.rst:302 msgid "Level" msgstr "" #: ../Doc/library/logging.rst:302 msgid "Numeric value" msgstr "" #: ../Doc/library/logging.rst:304 msgid "``CRITICAL``" msgstr "``CRITICAL``" #: ../Doc/library/logging.rst:304 msgid "50" msgstr "50" #: ../Doc/library/logging.rst:306 msgid "``ERROR``" msgstr "``ERROR``" #: ../Doc/library/logging.rst:306 msgid "40" msgstr "40" #: ../Doc/library/logging.rst:308 msgid "``WARNING``" msgstr "``WARNING``" #: ../Doc/library/logging.rst:308 msgid "30" msgstr "30" #: ../Doc/library/logging.rst:310 msgid "``INFO``" msgstr "``INFO``" #: ../Doc/library/logging.rst:310 msgid "20" msgstr "20" #: ../Doc/library/logging.rst:312 msgid "``DEBUG``" msgstr "``DEBUG``" #: ../Doc/library/logging.rst:312 msgid "10" msgstr "10" #: ../Doc/library/logging.rst:314 msgid "``NOTSET``" msgstr "``NOTSET``" #: ../Doc/library/logging.rst:314 msgid "0" msgstr "0" #: ../Doc/library/logging.rst:321 msgid "Handler Objects" msgstr "" #: ../Doc/library/logging.rst:323 msgid "" "Handlers have the following attributes and methods. Note that :class:" "`Handler` is never instantiated directly; this class acts as a base for more " "useful subclasses. However, the :meth:`__init__` method in subclasses needs " "to call :meth:`Handler.__init__`." msgstr "" #: ../Doc/library/logging.rst:331 msgid "" "Initializes the :class:`Handler` instance by setting its level, setting the " "list of filters to the empty list and creating a lock (using :meth:" "`createLock`) for serializing access to an I/O mechanism." msgstr "" #: ../Doc/library/logging.rst:338 msgid "" "Initializes a thread lock which can be used to serialize access to " "underlying I/O functionality which may not be threadsafe." msgstr "" #: ../Doc/library/logging.rst:344 msgid "Acquires the thread lock created with :meth:`createLock`." msgstr "" #: ../Doc/library/logging.rst:349 msgid "Releases the thread lock acquired with :meth:`acquire`." msgstr "" #: ../Doc/library/logging.rst:354 msgid "" "Sets the threshold for this handler to *lvl*. Logging messages which are " "less severe than *lvl* will be ignored. When a handler is created, the level " "is set to :const:`NOTSET` (which causes all messages to be processed)." msgstr "" #: ../Doc/library/logging.rst:362 msgid "Sets the :class:`Formatter` for this handler to *form*." msgstr "" #: ../Doc/library/logging.rst:367 msgid "Adds the specified filter *filt* to this handler." msgstr "" #: ../Doc/library/logging.rst:372 msgid "Removes the specified filter *filt* from this handler." msgstr "" #: ../Doc/library/logging.rst:377 msgid "" "Applies this handler's filters to the record and returns a true value if the " "record is to be processed. The filters are consulted in turn, until one of " "them returns a false value. If none of them return a false value, the record " "will be emitted. If one returns a false value, the handler will not emit the " "record." msgstr "" #: ../Doc/library/logging.rst:386 msgid "" "Ensure all logging output has been flushed. This version does nothing and is " "intended to be implemented by subclasses." msgstr "" #: ../Doc/library/logging.rst:392 msgid "" "Tidy up any resources used by the handler. This version does no output but " "removes the handler from an internal list of handlers which is closed when :" "func:`shutdown` is called. Subclasses should ensure that this gets called " "from overridden :meth:`close` methods." msgstr "" #: ../Doc/library/logging.rst:400 msgid "" "Conditionally emits the specified logging record, depending on filters which " "may have been added to the handler. Wraps the actual emission of the record " "with acquisition/release of the I/O thread lock." msgstr "" #: ../Doc/library/logging.rst:407 msgid "" "This method should be called from handlers when an exception is encountered " "during an :meth:`emit` call. If the module-level attribute " "``raiseExceptions`` is ``False``, exceptions get silently ignored. This is " "what is mostly wanted for a logging system - most users will not care about " "errors in the logging system, they are more interested in application " "errors. You could, however, replace this with a custom handler if you wish. " "The specified record is the one which was being processed when the exception " "occurred. (The default value of ``raiseExceptions`` is ``True``, as that is " "more useful during development)." msgstr "" #: ../Doc/library/logging.rst:420 msgid "" "Do formatting for a record - if a formatter is set, use it. Otherwise, use " "the default formatter for the module." msgstr "" #: ../Doc/library/logging.rst:426 msgid "" "Do whatever it takes to actually log the specified logging record. This " "version is intended to be implemented by subclasses and so raises a :exc:" "`NotImplementedError`." msgstr "" #: ../Doc/library/logging.rst:430 msgid "" "For a list of handlers included as standard, see :mod:`logging.handlers`." msgstr "" #: ../Doc/library/logging.rst:435 msgid "Formatter Objects" msgstr "" #: ../Doc/library/logging.rst:439 msgid "" ":class:`Formatter` objects have the following attributes and methods. They " "are responsible for converting a :class:`LogRecord` to (usually) a string " "which can be interpreted by either a human or an external system. The base :" "class:`Formatter` allows a formatting string to be specified. If none is " "supplied, the default value of ``'%(message)s'`` is used, which just " "includes the message in the logging call. To have additional items of " "information in the formatted output (such as a timestamp), keep reading." msgstr "" #: ../Doc/library/logging.rst:447 msgid "" "A Formatter can be initialized with a format string which makes use of " "knowledge of the :class:`LogRecord` attributes - such as the default value " "mentioned above making use of the fact that the user's message and arguments " "are pre-formatted into a :class:`LogRecord`'s *message* attribute. This " "format string contains standard Python %-style mapping keys. See section :" "ref:`string-formatting` for more information on string formatting." msgstr "" #: ../Doc/library/logging.rst:454 msgid "" "The useful mapping keys in a :class:`LogRecord` are given in the section on :" "ref:`logrecord-attributes`." msgstr "" #: ../Doc/library/logging.rst:460 msgid "" "Returns a new instance of the :class:`Formatter` class. The instance is " "initialized with a format string for the message as a whole, as well as a " "format string for the date/time portion of a message. If no *fmt* is " "specified, ``'%(message)s'`` is used. If no *datefmt* is specified, the " "ISO8601 date format is used." msgstr "" #: ../Doc/library/logging.rst:468 msgid "" "The record's attribute dictionary is used as the operand to a string " "formatting operation. Returns the resulting string. Before formatting the " "dictionary, a couple of preparatory steps are carried out. The *message* " "attribute of the record is computed using *msg* % *args*. If the formatting " "string contains ``'(asctime)'``, :meth:`formatTime` is called to format the " "event time. If there is exception information, it is formatted using :meth:" "`formatException` and appended to the message. Note that the formatted " "exception information is cached in attribute *exc_text*. This is useful " "because the exception information can be pickled and sent across the wire, " "but you should be careful if you have more than one :class:`Formatter` " "subclass which customizes the formatting of exception information. In this " "case, you will have to clear the cached value after a formatter has done its " "formatting, so that the next formatter to handle the event doesn't use the " "cached value but recalculates it afresh." msgstr "" #: ../Doc/library/logging.rst:487 msgid "" "This method should be called from :meth:`format` by a formatter which wants " "to make use of a formatted time. This method can be overridden in formatters " "to provide for any specific requirement, but the basic behavior is as " "follows: if *datefmt* (a string) is specified, it is used with :func:`time." "strftime` to format the creation time of the record. Otherwise, the ISO8601 " "format is used. The resulting string is returned." msgstr "" #: ../Doc/library/logging.rst:495 msgid "" "This function uses a user-configurable function to convert the creation time " "to a tuple. By default, :func:`time.localtime` is used; to change this for a " "particular formatter instance, set the ``converter`` attribute to a function " "with the same signature as :func:`time.localtime` or :func:`time.gmtime`. To " "change it for all formatters, for example if you want all logging times to " "be shown in GMT, set the ``converter`` attribute in the ``Formatter`` class." msgstr "" #: ../Doc/library/logging.rst:505 msgid "" "Formats the specified exception information (a standard exception tuple as " "returned by :func:`sys.exc_info`) as a string. This default implementation " "just uses :func:`traceback.print_exception`. The resulting string is " "returned." msgstr "" #: ../Doc/library/logging.rst:513 msgid "Filter Objects" msgstr "" #: ../Doc/library/logging.rst:515 msgid "" "``Filters`` can be used by ``Handlers`` and ``Loggers`` for more " "sophisticated filtering than is provided by levels. The base filter class " "only allows events which are below a certain point in the logger hierarchy. " "For example, a filter initialized with 'A.B' will allow events logged by " "loggers 'A.B', 'A.B.C', 'A.B.C.D', 'A.B.D' etc. but not 'A.BB', 'B.A.B' etc. " "If initialized with the empty string, all events are passed." msgstr "" #: ../Doc/library/logging.rst:525 msgid "" "Returns an instance of the :class:`Filter` class. If *name* is specified, it " "names a logger which, together with its children, will have its events " "allowed through the filter. If *name* is the empty string, allows every " "event." msgstr "" #: ../Doc/library/logging.rst:532 msgid "" "Is the specified record to be logged? Returns zero for no, nonzero for yes. " "If deemed appropriate, the record may be modified in-place by this method." msgstr "" #: ../Doc/library/logging.rst:536 msgid "" "Note that filters attached to handlers are consulted before an event is " "emitted by the handler, whereas filters attached to loggers are consulted " "whenever an event is logged (using :meth:`debug`, :meth:`info`, etc.), " "before sending an event to handlers. This means that events which have been " "generated by descendant loggers will not be filtered by a logger's filter " "setting, unless the filter has also been applied to those descendant loggers." msgstr "" #: ../Doc/library/logging.rst:543 msgid "" "You don't actually need to subclass ``Filter``: you can pass any instance " "which has a ``filter`` method with the same semantics." msgstr "" #: ../Doc/library/logging.rst:546 msgid "" "Although filters are used primarily to filter records based on more " "sophisticated criteria than levels, they get to see every record which is " "processed by the handler or logger they're attached to: this can be useful " "if you want to do things like counting how many records were processed by a " "particular logger or handler, or adding, changing or removing attributes in " "the LogRecord being processed. Obviously changing the LogRecord needs to be " "done with some care, but it does allow the injection of contextual " "information into logs (see :ref:`filters-contextual`)." msgstr "" #: ../Doc/library/logging.rst:558 msgid "LogRecord Objects" msgstr "" #: ../Doc/library/logging.rst:560 msgid "" ":class:`LogRecord` instances are created automatically by the :class:" "`Logger` every time something is logged, and can be created manually via :" "func:`makeLogRecord` (for example, from a pickled event received over the " "wire)." msgstr "" #: ../Doc/library/logging.rst:568 msgid "Contains all the information pertinent to the event being logged." msgstr "" #: ../Doc/library/logging.rst:570 msgid "" "The primary information is passed in :attr:`msg` and :attr:`args`, which are " "combined using ``msg % args`` to create the :attr:`message` field of the " "record." msgstr "" #: ../Doc/library/logging.rst:574 msgid "" "The name of the logger used to log the event represented by this LogRecord. " "Note that this name will always have this value, even though it may be " "emitted by a handler attached to a different (ancestor) logger." msgstr "" #: ../Doc/library/logging.rst:578 msgid "" "The numeric level of the logging event (one of DEBUG, INFO etc.) Note that " "this is converted to *two* attributes of the LogRecord: ``levelno`` for the " "numeric value and ``levelname`` for the corresponding level name." msgstr "" #: ../Doc/library/logging.rst:582 msgid "The full pathname of the source file where the logging call was made." msgstr "" #: ../Doc/library/logging.rst:584 msgid "The line number in the source file where the logging call was made." msgstr "" #: ../Doc/library/logging.rst:586 msgid "" "The event description message, possibly a format string with placeholders " "for variable data." msgstr "" #: ../Doc/library/logging.rst:588 msgid "" "Variable data to merge into the *msg* argument to obtain the event " "description." msgstr "" #: ../Doc/library/logging.rst:590 msgid "" "An exception tuple with the current exception information, or ``None`` if no " "exception information is available." msgstr "" #: ../Doc/library/logging.rst:592 msgid "" "The name of the function or method from which the logging call was invoked." msgstr "" #: ../Doc/library/logging.rst:595 msgid "*func* was added." msgstr "" #: ../Doc/library/logging.rst:600 msgid "" "Returns the message for this :class:`LogRecord` instance after merging any " "user-supplied arguments with the message. If the user-supplied message " "argument to the logging call is not a string, :func:`str` is called on it to " "convert it to a string. This allows use of user-defined classes as messages, " "whose ``__str__`` method can return the actual format string to be used." msgstr "" #: ../Doc/library/logging.rst:611 msgid "LogRecord attributes" msgstr "" #: ../Doc/library/logging.rst:613 msgid "" "The LogRecord has a number of attributes, most of which are derived from the " "parameters to the constructor. (Note that the names do not always correspond " "exactly between the LogRecord constructor parameters and the LogRecord " "attributes.) These attributes can be used to merge data from the record into " "the format string. The following table lists (in alphabetical order) the " "attribute names, their meanings and the corresponding placeholder in a %-" "style format string." msgstr "" #: ../Doc/library/logging.rst:622 msgid "Attribute name" msgstr "" #: ../Doc/library/logging.rst:622 ../Doc/library/logging.rst:950 msgid "Format" msgstr "Format" #: ../Doc/library/logging.rst:622 ../Doc/library/logging.rst:950 msgid "Description" msgstr "Description" #: ../Doc/library/logging.rst:624 msgid "args" msgstr "" #: ../Doc/library/logging.rst:624 ../Doc/library/logging.rst:638 #: ../Doc/library/logging.rst:666 msgid "You shouldn't need to format this yourself." msgstr "" #: ../Doc/library/logging.rst:624 msgid "" "The tuple of arguments merged into ``msg`` to produce ``message``, or a dict " "whose values are used for the merge (when there is only one argument, and it " "is a dictionary)." msgstr "" #: ../Doc/library/logging.rst:629 msgid "asctime" msgstr "" #: ../Doc/library/logging.rst:629 msgid "``%(asctime)s``" msgstr "``%(asctime)s``" #: ../Doc/library/logging.rst:629 msgid "" "Human-readable time when the :class:`LogRecord` was created. By default " "this is of the form '2003-07-08 16:49:45,896' (the numbers after the comma " "are millisecond portion of the time)." msgstr "" #: ../Doc/library/logging.rst:635 msgid "created" msgstr "created" #: ../Doc/library/logging.rst:635 msgid "``%(created)f``" msgstr "``%(created)f``" #: ../Doc/library/logging.rst:635 msgid "" "Time when the :class:`LogRecord` was created (as returned by :func:`time." "time`)." msgstr "" #: ../Doc/library/logging.rst:638 msgid "exc_info" msgstr "exc_info" #: ../Doc/library/logging.rst:638 msgid "" "Exception tuple (à la ``sys.exc_info``) or, if no exception has occurred, " "``None``." msgstr "" #: ../Doc/library/logging.rst:641 msgid "filename" msgstr "filename" #: ../Doc/library/logging.rst:641 msgid "``%(filename)s``" msgstr "``%(filename)s``" #: ../Doc/library/logging.rst:641 msgid "Filename portion of ``pathname``." msgstr "" #: ../Doc/library/logging.rst:643 msgid "funcName" msgstr "funcName" #: ../Doc/library/logging.rst:643 msgid "``%(funcName)s``" msgstr "``%(funcName)s``" #: ../Doc/library/logging.rst:643 msgid "Name of function containing the logging call." msgstr "" #: ../Doc/library/logging.rst:645 msgid "levelname" msgstr "levelname" #: ../Doc/library/logging.rst:645 msgid "``%(levelname)s``" msgstr "``%(levelname)s``" #: ../Doc/library/logging.rst:645 msgid "" "Text logging level for the message (``'DEBUG'``, ``'INFO'``, ``'WARNING'``, " "``'ERROR'``, ``'CRITICAL'``)." msgstr "" #: ../Doc/library/logging.rst:649 msgid "levelno" msgstr "" #: ../Doc/library/logging.rst:649 msgid "``%(levelno)s``" msgstr "``%(levelno)s``" #: ../Doc/library/logging.rst:649 msgid "" "Numeric logging level for the message (:const:`DEBUG`, :const:`INFO`, :const:" "`WARNING`, :const:`ERROR`, :const:`CRITICAL`)." msgstr "" #: ../Doc/library/logging.rst:654 msgid "lineno" msgstr "lineno" #: ../Doc/library/logging.rst:654 msgid "``%(lineno)d``" msgstr "``%(lineno)d``" #: ../Doc/library/logging.rst:654 msgid "Source line number where the logging call was issued (if available)." msgstr "" #: ../Doc/library/logging.rst:657 msgid "module" msgstr "module" #: ../Doc/library/logging.rst:657 msgid "``%(module)s``" msgstr "``%(module)s``" #: ../Doc/library/logging.rst:657 msgid "Module (name portion of ``filename``)." msgstr "" #: ../Doc/library/logging.rst:659 msgid "msecs" msgstr "msecs" #: ../Doc/library/logging.rst:659 msgid "``%(msecs)d``" msgstr "``%(msecs)d``" #: ../Doc/library/logging.rst:659 msgid "" "Millisecond portion of the time when the :class:`LogRecord` was created." msgstr "" #: ../Doc/library/logging.rst:662 msgid "message" msgstr "message" #: ../Doc/library/logging.rst:662 msgid "``%(message)s``" msgstr "``%(message)s``" #: ../Doc/library/logging.rst:662 msgid "" "The logged message, computed as ``msg % args``. This is set when :meth:" "`Formatter.format` is invoked." msgstr "" #: ../Doc/library/logging.rst:666 msgid "msg" msgstr "" #: ../Doc/library/logging.rst:666 msgid "" "The format string passed in the original logging call. Merged with ``args`` " "to produce ``message``, or an arbitrary object (see :ref:`arbitrary-object-" "messages`)." msgstr "" #: ../Doc/library/logging.rst:671 msgid "name" msgstr "" #: ../Doc/library/logging.rst:671 msgid "``%(name)s``" msgstr "``%(name)s``" #: ../Doc/library/logging.rst:671 msgid "Name of the logger used to log the call." msgstr "" #: ../Doc/library/logging.rst:673 msgid "pathname" msgstr "pathname" #: ../Doc/library/logging.rst:673 msgid "``%(pathname)s``" msgstr "``%(pathname)s``" #: ../Doc/library/logging.rst:673 msgid "" "Full pathname of the source file where the logging call was issued (if " "available)." msgstr "" #: ../Doc/library/logging.rst:676 msgid "process" msgstr "process" #: ../Doc/library/logging.rst:676 msgid "``%(process)d``" msgstr "``%(process)d``" #: ../Doc/library/logging.rst:676 msgid "Process ID (if available)." msgstr "" #: ../Doc/library/logging.rst:678 msgid "processName" msgstr "processName" #: ../Doc/library/logging.rst:678 msgid "``%(processName)s``" msgstr "``%(processName)s``" #: ../Doc/library/logging.rst:678 msgid "Process name (if available)." msgstr "" #: ../Doc/library/logging.rst:680 msgid "relativeCreated" msgstr "relativeCreated" #: ../Doc/library/logging.rst:680 msgid "``%(relativeCreated)d``" msgstr "``%(relativeCreated)d``" #: ../Doc/library/logging.rst:680 msgid "" "Time in milliseconds when the LogRecord was created, relative to the time " "the logging module was loaded." msgstr "" #: ../Doc/library/logging.rst:684 msgid "thread" msgstr "" #: ../Doc/library/logging.rst:684 msgid "``%(thread)d``" msgstr "``%(thread)d``" #: ../Doc/library/logging.rst:684 msgid "Thread ID (if available)." msgstr "" #: ../Doc/library/logging.rst:686 msgid "threadName" msgstr "" #: ../Doc/library/logging.rst:686 msgid "``%(threadName)s``" msgstr "``%(threadName)s``" #: ../Doc/library/logging.rst:686 msgid "Thread name (if available)." msgstr "" #: ../Doc/library/logging.rst:689 msgid "*funcName* was added." msgstr "" #: ../Doc/library/logging.rst:692 msgid "*processName* was added." msgstr "" #: ../Doc/library/logging.rst:698 msgid "LoggerAdapter Objects" msgstr "" #: ../Doc/library/logging.rst:700 msgid "" ":class:`LoggerAdapter` instances are used to conveniently pass contextual " "information into logging calls. For a usage example, see the section on :ref:" "`adding contextual information to your logging output `." msgstr "" #: ../Doc/library/logging.rst:709 msgid "" "Returns an instance of :class:`LoggerAdapter` initialized with an " "underlying :class:`Logger` instance and a dict-like object." msgstr "" #: ../Doc/library/logging.rst:714 msgid "" "Modifies the message and/or keyword arguments passed to a logging call in " "order to insert contextual information. This implementation takes the object " "passed as *extra* to the constructor and adds it to *kwargs* using key " "'extra'. The return value is a (*msg*, *kwargs*) tuple which has the " "(possibly modified) versions of the arguments passed in." msgstr "" #: ../Doc/library/logging.rst:720 msgid "" "In addition to the above, :class:`LoggerAdapter` supports the following " "methods of :class:`Logger`: :meth:`~Logger.debug`, :meth:`~Logger.info`, :" "meth:`~Logger.warning`, :meth:`~Logger.error`, :meth:`~Logger.exception`, :" "meth:`~Logger.critical`, :meth:`~Logger.log` and :meth:`~Logger." "isEnabledFor`. These methods have the same signatures as their counterparts " "in :class:`Logger`, so you can use the two types of instances " "interchangeably for these calls." msgstr "" #: ../Doc/library/logging.rst:727 msgid "" "The :meth:`~Logger.isEnabledFor` method was added to :class:`LoggerAdapter`. " "This method delegates to the underlying logger." msgstr "" #: ../Doc/library/logging.rst:733 msgid "Thread Safety" msgstr "" #: ../Doc/library/logging.rst:735 msgid "" "The logging module is intended to be thread-safe without any special work " "needing to be done by its clients. It achieves this though using threading " "locks; there is one lock to serialize access to the module's shared data, " "and each handler also creates a lock to serialize access to its underlying I/" "O." msgstr "" #: ../Doc/library/logging.rst:740 msgid "" "If you are implementing asynchronous signal handlers using the :mod:`signal` " "module, you may not be able to use logging from within such handlers. This " "is because lock implementations in the :mod:`threading` module are not " "always re-entrant, and so cannot be invoked from such signal handlers." msgstr "" #: ../Doc/library/logging.rst:747 msgid "Module-Level Functions" msgstr "" #: ../Doc/library/logging.rst:749 msgid "" "In addition to the classes described above, there are a number of module- " "level functions." msgstr "" #: ../Doc/library/logging.rst:755 msgid "" "Return a logger with the specified name or, if no name is specified, return " "a logger which is the root logger of the hierarchy. If specified, the name " "is typically a dot-separated hierarchical name like *\"a\"*, *\"a.b\"* or *" "\"a.b.c.d\"*. Choice of these names is entirely up to the developer who is " "using logging." msgstr "" #: ../Doc/library/logging.rst:760 msgid "" "All calls to this function with a given name return the same logger " "instance. This means that logger instances never need to be passed between " "different parts of an application." msgstr "" #: ../Doc/library/logging.rst:767 msgid "" "Return either the standard :class:`Logger` class, or the last class passed " "to :func:`setLoggerClass`. This function may be called from within a new " "class definition, to ensure that installing a customized :class:`Logger` " "class will not undo customizations already applied by other code. For " "example::" msgstr "" #: ../Doc/library/logging.rst:778 msgid "" "Logs a message with level :const:`DEBUG` on the root logger. The *msg* is " "the message format string, and the *args* are the arguments which are merged " "into *msg* using the string formatting operator. (Note that this means that " "you can use keywords in the format string, together with a single dictionary " "argument.)" msgstr "" #: ../Doc/library/logging.rst:789 msgid "" "The other optional keyword argument is *extra* which can be used to pass a " "dictionary which is used to populate the __dict__ of the LogRecord created " "for the logging event with user-defined attributes. These custom attributes " "can then be used as you like. For example, they could be incorporated into " "logged messages. For example::" msgstr "" #: ../Doc/library/logging.rst:800 msgid "would print something like::" msgstr "" #: ../Doc/library/logging.rst:822 msgid "*extra* was added." msgstr "" #: ../Doc/library/logging.rst:828 msgid "" "Logs a message with level :const:`INFO` on the root logger. The arguments " "are interpreted as for :func:`debug`." msgstr "" #: ../Doc/library/logging.rst:834 msgid "" "Logs a message with level :const:`WARNING` on the root logger. The arguments " "are interpreted as for :func:`debug`." msgstr "" #: ../Doc/library/logging.rst:840 msgid "" "Logs a message with level :const:`ERROR` on the root logger. The arguments " "are interpreted as for :func:`debug`." msgstr "" #: ../Doc/library/logging.rst:846 msgid "" "Logs a message with level :const:`CRITICAL` on the root logger. The " "arguments are interpreted as for :func:`debug`." msgstr "" #: ../Doc/library/logging.rst:852 msgid "" "Logs a message with level :const:`ERROR` on the root logger. The arguments " "are interpreted as for :func:`debug`, except that any passed *exc_info* is " "not inspected. Exception info is always added to the logging message. This " "function should only be called from an exception handler." msgstr "" #: ../Doc/library/logging.rst:860 msgid "" "Logs a message with level *level* on the root logger. The other arguments " "are interpreted as for :func:`debug`." msgstr "" #: ../Doc/library/logging.rst:863 msgid "" "The above module-level convenience functions, which delegate to the root " "logger, call :func:`basicConfig` to ensure that at least one handler is " "available. Because of this, they should *not* be used in threads, in " "versions of Python earlier than 2.7.1 and 3.2, unless at least one handler " "has been added to the root logger *before* the threads are started. In " "earlier versions of Python, due to a thread safety shortcoming in :func:" "`basicConfig`, this can (under rare circumstances) lead to handlers being " "added multiple times to the root logger, which can in turn lead to multiple " "messages for the same event." msgstr "" #: ../Doc/library/logging.rst:875 msgid "" "Provides an overriding level *lvl* for all loggers which takes precedence " "over the logger's own level. When the need arises to temporarily throttle " "logging output down across the whole application, this function can be " "useful. Its effect is to disable all logging calls of severity *lvl* and " "below, so that if you call it with a value of INFO, then all INFO and DEBUG " "events would be discarded, whereas those of severity WARNING and above would " "be processed according to the logger's effective level. If ``logging." "disable(logging.NOTSET)`` is called, it effectively removes this overriding " "level, so that logging output again depends on the effective levels of " "individual loggers." msgstr "" #: ../Doc/library/logging.rst:889 msgid "" "Associates level *lvl* with text *levelName* in an internal dictionary, " "which is used to map numeric levels to a textual representation, for example " "when a :class:`Formatter` formats a message. This function can also be used " "to define your own levels. The only constraints are that all levels used " "must be registered using this function, levels should be positive integers " "and they should increase in increasing order of severity." msgstr "" #: ../Doc/library/logging.rst:896 msgid "" "If you are thinking of defining your own levels, please see the section on :" "ref:`custom-levels`." msgstr "" #: ../Doc/library/logging.rst:901 msgid "" "Returns the textual representation of logging level *lvl*. If the level is " "one of the predefined levels :const:`CRITICAL`, :const:`ERROR`, :const:" "`WARNING`, :const:`INFO` or :const:`DEBUG` then you get the corresponding " "string. If you have associated levels with names using :func:`addLevelName` " "then the name you have associated with *lvl* is returned. If a numeric value " "corresponding to one of the defined levels is passed in, the corresponding " "string representation is returned. Otherwise, the string \"Level %s\" % lvl " "is returned." msgstr "" #: ../Doc/library/logging.rst:909 msgid "" "Integer levels should be used when e.g. setting levels on instances of :" "class:`Logger` and handlers. This function is used to convert between an " "integer level and the level name displayed in the formatted log output by " "means of the ``%(levelname)s`` format specifier (see :ref:`logrecord-" "attributes`)." msgstr "" #: ../Doc/library/logging.rst:918 msgid "" "Creates and returns a new :class:`LogRecord` instance whose attributes are " "defined by *attrdict*. This function is useful for taking a pickled :class:" "`LogRecord` attribute dictionary, sent over a socket, and reconstituting it " "as a :class:`LogRecord` instance at the receiving end." msgstr "" #: ../Doc/library/logging.rst:926 msgid "" "Does basic configuration for the logging system by creating a :class:" "`StreamHandler` with a default :class:`Formatter` and adding it to the root " "logger. The functions :func:`debug`, :func:`info`, :func:`warning`, :func:" "`error` and :func:`critical` will call :func:`basicConfig` automatically if " "no handlers are defined for the root logger." msgstr "" #: ../Doc/library/logging.rst:932 msgid "" "This function does nothing if the root logger already has handlers " "configured for it." msgstr "" #: ../Doc/library/logging.rst:935 msgid "Formerly, :func:`basicConfig` did not take any keyword arguments." msgstr "" #: ../Doc/library/logging.rst:938 msgid "" "This function should be called from the main thread before other threads are " "started. In versions of Python prior to 2.7.1 and 3.2, if this function is " "called from multiple threads, it is possible (in rare circumstances) that a " "handler will be added to the root logger more than once, leading to " "unexpected results such as messages being duplicated in the log." msgstr "" #: ../Doc/library/logging.rst:945 msgid "The following keyword arguments are supported." msgstr "" #: ../Doc/library/logging.rst:952 msgid "``filename``" msgstr "``filename``" #: ../Doc/library/logging.rst:952 msgid "" "Specifies that a FileHandler be created, using the specified filename, " "rather than a StreamHandler." msgstr "" #: ../Doc/library/logging.rst:956 msgid "``filemode``" msgstr "``filemode``" #: ../Doc/library/logging.rst:956 msgid "" "Specifies the mode to open the file, if filename is specified (if filemode " "is unspecified, it defaults to 'a')." msgstr "" #: ../Doc/library/logging.rst:960 msgid "``format``" msgstr "``format``" #: ../Doc/library/logging.rst:960 msgid "Use the specified format string for the handler." msgstr "" #: ../Doc/library/logging.rst:963 msgid "``datefmt``" msgstr "``datefmt``" #: ../Doc/library/logging.rst:963 msgid "Use the specified date/time format." msgstr "" #: ../Doc/library/logging.rst:965 msgid "``level``" msgstr "``level``" #: ../Doc/library/logging.rst:965 msgid "Set the root logger level to the specified level." msgstr "" #: ../Doc/library/logging.rst:968 msgid "``stream``" msgstr "``stream``" #: ../Doc/library/logging.rst:968 msgid "" "Use the specified stream to initialize the StreamHandler. Note that this " "argument is incompatible with 'filename' - if both are present, 'stream' is " "ignored." msgstr "" #: ../Doc/library/logging.rst:977 msgid "" "Informs the logging system to perform an orderly shutdown by flushing and " "closing all handlers. This should be called at application exit and no " "further use of the logging system should be made after this call." msgstr "" #: ../Doc/library/logging.rst:984 msgid "" "Tells the logging system to use the class *klass* when instantiating a " "logger. The class should define :meth:`__init__` such that only a name " "argument is required, and the :meth:`__init__` should call :meth:`Logger." "__init__`. This function is typically called before any loggers are " "instantiated by applications which need to use custom logger behavior." msgstr "" #: ../Doc/library/logging.rst:992 msgid "Integration with the warnings module" msgstr "" #: ../Doc/library/logging.rst:994 msgid "" "The :func:`captureWarnings` function can be used to integrate :mod:`logging` " "with the :mod:`warnings` module." msgstr "" #: ../Doc/library/logging.rst:999 msgid "" "This function is used to turn the capture of warnings by logging on and off." msgstr "" #: ../Doc/library/logging.rst:1002 msgid "" "If *capture* is ``True``, warnings issued by the :mod:`warnings` module will " "be redirected to the logging system. Specifically, a warning will be " "formatted using :func:`warnings.formatwarning` and the resulting string " "logged to a logger named ``'py.warnings'`` with a severity of :const:" "`WARNING`." msgstr "" #: ../Doc/library/logging.rst:1007 msgid "" "If *capture* is ``False``, the redirection of warnings to the logging system " "will stop, and warnings will be redirected to their original destinations (i." "e. those in effect before ``captureWarnings(True)`` was called)." msgstr "" #: ../Doc/library/logging.rst:1015 msgid "Module :mod:`logging.config`" msgstr "" #: ../Doc/library/logging.rst:1015 msgid "Configuration API for the logging module." msgstr "" #: ../Doc/library/logging.rst:1018 msgid "Module :mod:`logging.handlers`" msgstr "" #: ../Doc/library/logging.rst:1018 msgid "Useful handlers included with the logging module." msgstr "" #: ../Doc/library/logging.rst:1022 msgid ":pep:`282` - A Logging System" msgstr "" #: ../Doc/library/logging.rst:1021 msgid "" "The proposal which described this feature for inclusion in the Python " "standard library." msgstr "" #: ../Doc/library/logging.rst:1027 msgid "" "`Original Python logging package `_" msgstr "" #: ../Doc/library/logging.rst:1025 msgid "" "This is the original source for the :mod:`logging` package. The version of " "the package available from this site is suitable for use with Python 1.5.2, " "2.1.x and 2.2.x, which do not include the :mod:`logging` package in the " "standard library." msgstr ""