From bd885f1e837321e5bb14f23cbc69fdda0c1cd6cf Mon Sep 17 00:00:00 2001 From: cacrespo Date: Sun, 26 Jul 2020 11:50:38 -0300 Subject: [PATCH 1/9] 'avance' --- howto/logging-cookbook.po | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index e7fd3c48d9..4348e7f4d6 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-06-24 16:58-0300\n" +"PO-Revision-Date: 2020-07-07 05:34-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -77,33 +77,40 @@ msgstr "Y aquí un módulo auxiliar::" #: ../Doc/howto/logging-cookbook.rst:75 msgid "The output looks like this:" -msgstr "" +msgstr "El resultado se ve así:" #: ../Doc/howto/logging-cookbook.rst:101 msgid "Logging from multiple threads" -msgstr "" +msgstr "Logging desde múltiples hilos" #: ../Doc/howto/logging-cookbook.rst:103 msgid "" "Logging from multiple threads requires no special effort. The following " "example shows logging from the main (initial) thread and another thread::" msgstr "" +"*Logging* desde múltiples hilos (*threads*) no requiere ningún esfuerzo " +"especial. El siguiente ejemplo muestra el registro desde el hilo principal " +"(inicial) y otro hilo::" #: ../Doc/howto/logging-cookbook.rst:132 msgid "When run, the script should print something like the following:" -msgstr "" +msgstr "Cuando se ejecuta, el script debe imprimir algo como lo siguiente:" #: ../Doc/howto/logging-cookbook.rst:154 msgid "" "This shows the logging output interspersed as one might expect. This " "approach works for more threads than shown here, of course." msgstr "" +"Esto muestra la salida de registro intercalada como cabría esperar. Por " +"supuesto, este enfoque funciona para más hilos de lo que se muestran aquí." #: ../Doc/howto/logging-cookbook.rst:158 +#, fuzzy msgid "Multiple handlers and formatters" -msgstr "" +msgstr "Múltiples gestores y formateadores" #: ../Doc/howto/logging-cookbook.rst:160 +#, fuzzy msgid "" "Loggers are plain Python objects. The :meth:`~Logger.addHandler` method has " "no minimum or maximum quota for the number of handlers you may add. " @@ -114,6 +121,15 @@ msgid "" "slight modification to the previous simple module-based configuration " "example::" msgstr "" +"Los *loggers* son simples objetos Python. El método :meth:`~Logger." +"addHandler` no tiene una cuota mínima o máxima para la cantidad de gestores " +"(*handlers*) que puede agregar. A veces será beneficioso para una aplicación " +"registrar todos los mensajes de todas las severidades en un archivo de texto " +"mientras se registran simultáneamente los errores o más en la consola. Para " +"configurar esto, simplemente configure los manejadores apropiados. Las " +"llamadas de registro en el código de la aplicación permanecerán sin cambios. " +"Aquí hay una ligera modificación al ejemplo de configuración simple anterior " +"basado en módulo::" #: ../Doc/howto/logging-cookbook.rst:193 msgid "" From 4bda5c0b8a2f8f5dc48b31e336e37d827ac7b53b Mon Sep 17 00:00:00 2001 From: cacrespo Date: Tue, 28 Jul 2020 14:24:44 -0300 Subject: [PATCH 2/9] avance 7% --- howto/logging-cookbook.po | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index 4348e7f4d6..6abd634254 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-07-07 05:34-0300\n" +"PO-Revision-Date: 2020-07-28 14:23-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -137,8 +137,14 @@ msgid "" "All that changed was the addition and configuration of a new handler named " "*fh*." msgstr "" +"Tenga en cuenta que el código de la 'aplicación' no se preocupa por los " +"gestores múltiples. Todo lo que cambió fue la adición y configuración de un " +"nuevo gestor llamado *fh*." +# ¿mayor o menor "severidad" del logger? ¿importancia? +# ¿prioridad? #: ../Doc/howto/logging-cookbook.rst:196 +#, fuzzy msgid "" "The ability to create new handlers with higher- or lower-severity filters " "can be very helpful when writing and testing an application. Instead of " @@ -149,10 +155,18 @@ msgid "" "to happen is to modify the severity level of the logger and/or handler to " "debug." msgstr "" +"La capacidad de crear nuevos gestores con filtros de mayor o menor severidad " +"puede ser muy útil al escribir y probar una aplicación. En lugar de usar " +"muchas declaraciones ``print`` para la depuración, use ``logger.debug``: a " +"diferencia de las declaraciones de impresión, que tendrá que eliminar o " +"comentar más tarde, las declaraciones de *logger.debug* pueden permanecer " +"intactas en el código fuente y permanecen inactivas hasta que las necesites " +"nuevamente. En ese momento, el único cambio que debe realizar es modificar " +"el nivel de severidad del *logger* y/o gestor para depurar." #: ../Doc/howto/logging-cookbook.rst:207 msgid "Logging to multiple destinations" -msgstr "" +msgstr "Logging en múltiples destinos" #: ../Doc/howto/logging-cookbook.rst:209 msgid "" @@ -162,34 +176,47 @@ msgid "" "console. Let's also assume that the file should contain timestamps, but the " "console messages should not. Here's how you can achieve this::" msgstr "" +"Supongamos que desea que la consola y un archivo tengan diferentes formatos " +"de mensaje y salida de registro para diferentes situaciones. Por ejemplo, " +"desea registrar mensajes con un nivel DEBUG y superiores en un archivo y " +"enviar mensajes con nivel INFO y superior a la consola. Además, suponga que " +"desea grabar una marca de tiempo en el archivo y no imprimirlo en la " +"consola. Puede lograr este comportamiento haciendo lo siguiente::" #: ../Doc/howto/logging-cookbook.rst:247 msgid "When you run this, on the console you will see" -msgstr "" +msgstr "Cuando ejecute esto, en la consola verá" #: ../Doc/howto/logging-cookbook.rst:256 msgid "and in the file you will see something like" -msgstr "" +msgstr "y en el archivo vera algo como" #: ../Doc/howto/logging-cookbook.rst:266 msgid "" "As you can see, the DEBUG message only shows up in the file. The other " "messages are sent to both destinations." msgstr "" +"Como se puede ver, el mensaje DEBUG sólo se muestra en el archivo. Los otros " +"mensajes se envían a los dos destinos." #: ../Doc/howto/logging-cookbook.rst:269 msgid "" "This example uses console and file handlers, but you can use any number and " "combination of handlers you choose." msgstr "" +"Este ejemplo usa gestores de consola y archivos, pero puede usar cualquier " +"número y combinación de los gestores que elija." #: ../Doc/howto/logging-cookbook.rst:274 msgid "Configuration server example" msgstr "" #: ../Doc/howto/logging-cookbook.rst:276 +#, fuzzy msgid "Here is an example of a module using the logging configuration server::" msgstr "" +"Aquí hay un ejemplo de un módulo que usa el servidor de configuración de " +"registro::" #: ../Doc/howto/logging-cookbook.rst:307 msgid "" From 6444f97374dd2d1f1598fc63b71d8c5890ec924b Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Mon, 3 Aug 2020 19:20:06 -0300 Subject: [PATCH 3/9] 10% traducido --- howto/logging-cookbook.po | 41 ++++++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index 6abd634254..bb59ed0a09 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-07-28 14:23-0300\n" +"PO-Revision-Date: 2020-08-03 19:19-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Last-Translator: Carlos A. Crespo \n" "Language: es\n" -"X-Generator: Poedit 2.3\n" +"X-Generator: Poedit 2.2.4\n" #: ../Doc/howto/logging-cookbook.rst:5 msgid "Logging Cookbook" @@ -209,14 +209,13 @@ msgstr "" #: ../Doc/howto/logging-cookbook.rst:274 msgid "Configuration server example" -msgstr "" +msgstr "Ejemplo de servidor de configuración" #: ../Doc/howto/logging-cookbook.rst:276 -#, fuzzy msgid "Here is an example of a module using the logging configuration server::" msgstr "" -"Aquí hay un ejemplo de un módulo que usa el servidor de configuración de " -"registro::" +"Aquí hay un ejemplo de un módulo que usa el servidor de configuración " +"logging::" #: ../Doc/howto/logging-cookbook.rst:307 msgid "" @@ -224,10 +223,14 @@ msgid "" "server, properly preceded with the binary-encoded length, as the new logging " "configuration::" msgstr "" +"Y aquí hay un script que toma un nombre de archivo y envía ese archivo al " +"servidor, precedido adecuadamente con la longitud codificada en binario, " +"como la nueva configuración de logging::" #: ../Doc/howto/logging-cookbook.rst:330 +#, fuzzy msgid "Dealing with handlers that block" -msgstr "" +msgstr "Tratar con gestores que bloquean" #: ../Doc/howto/logging-cookbook.rst:334 msgid "" @@ -235,8 +238,13 @@ msgid "" "blocking the thread you're logging from. This is common in Web applications, " "though of course it also occurs in other scenarios." msgstr "" +"A veces tiene que hacer que sus gestores de registro hagan su trabajo sin " +"bloquear el hilo desde el que está iniciando sesión. Esto es común en las " +"aplicaciones web, aunque, por supuesto, también ocurre en otros escenarios." +# -"under the hood": de bajo nivel? más técnicas? #: ../Doc/howto/logging-cookbook.rst:338 +#, fuzzy msgid "" "A common culprit which demonstrates sluggish behaviour is the :class:" "`SMTPHandler`: sending emails can take a long time, for a number of reasons " @@ -246,6 +254,14 @@ msgid "" "which is too slow (and this query can be deep in the socket library code, " "below the Python layer, and outside your control)." msgstr "" +"Un responsable común que demuestra comportamiento lento es la :class:" +"`SMTPHandler`: el envío de correos electrónicos puede llevar mucho tiempo, " +"por varias razones fuera del control del desarrollador (por ejemplo, una " +"infraestructura de red o correo de bajo rendimiento). Pero casi cualquier " +"controlador basado en red puede bloquear: Incluso una operación :class:" +"`SocketHandler` puede hacer una consulta DNS de bajo nivel que es demasiado " +"lenta (y esta consulta puede estar en el código de la biblioteca de socket, " +"debajo de la capa de Python, y fuera de su control)." #: ../Doc/howto/logging-cookbook.rst:346 msgid "" @@ -260,6 +276,17 @@ msgid "" "to attach only ``QueueHandlers`` to your loggers) for the benefit of other " "developers who will use your code." msgstr "" +"Una solución es utilizar un enfoque de dos partes. Para la primera parte, " +"adjunte solo una : ¡class:`QueueHandler` a los loggers que se acceden desde " +"subprocesos críticos de rendimiento. Simplemente escriben en su cola, que " +"puede dimensionarse a una capacidad lo suficientemente grande o " +"inicializarse sin límite superior a su tamaño. La escritura en la cola " +"generalmente se aceptará rápidamente, aunque es probable que deba atrapar la " +"excepción :exc:`queue.Full` como precaución en su código. Si usted es un " +"desarrollador de bibliotecas que tiene subprocesos críticos de rendimiento " +"en su código, asegúrese de documentar esto (junto con una sugerencia de " +"adjuntar solo ``QueueHandlers`` a sus loggers) para el beneficio de otros " +"desarrolladores que usarán su código." #: ../Doc/howto/logging-cookbook.rst:357 msgid "" From fc001d0615fac74cfb9befc4d173c72998413c52 Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Thu, 6 Aug 2020 10:51:25 -0300 Subject: [PATCH 4/9] =?UTF-8?q?peque=C3=B1o=20avance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- howto/logging-cookbook.po | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index bb59ed0a09..ed85768392 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-08-03 19:19-0300\n" +"PO-Revision-Date: 2020-08-06 10:50-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -289,6 +289,7 @@ msgstr "" "desarrolladores que usarán su código." #: ../Doc/howto/logging-cookbook.rst:357 +#, fuzzy msgid "" "The second part of the solution is :class:`QueueListener`, which has been " "designed as the counterpart to :class:`QueueHandler`. A :class:" @@ -298,6 +299,12 @@ msgid "" "matter). The ``LogRecords`` are removed from the queue and passed to the " "handlers for processing." msgstr "" +"La segunda parte de la solución es :class:`QueueListener`, que fue designado " +"como la contraparte de :class:`QueueHandler`. Un :class:`QueueListener` es " +"muy simple: ha pasado una cola y algunos gestores, y activa un hilo interno " +"que escucha su cola para LogRecords enviados desde ``QueueHandlers`` (o " +"cualquier otra fuente de ``LogRecords``, para el caso). Los ``LogRecords`` " +"se eliminan de la cola y se pasan a los gestores para su procesamiento." #: ../Doc/howto/logging-cookbook.rst:365 msgid "" @@ -307,14 +314,20 @@ msgid "" "handler classes, which would eat up one thread per handler for no particular " "benefit." msgstr "" +"La ventaja de tener una clase separada :class:`QueueListener` es que puede " +"usar la misma instancia para dar servicio a múltiples ``QueueHandlers``. " +"Esto es más amigable con los recursos que, por ejemplo, tener versiones " +"enhebradas de las clases de gestores existentes, que consumirían un hilo por " +"gestor sin ningún beneficio particular." #: ../Doc/howto/logging-cookbook.rst:370 msgid "An example of using these two classes follows (imports omitted)::" msgstr "" +"Un ejemplo del uso de estas dos clases a continuación (se omiten *imports*)::" #: ../Doc/howto/logging-cookbook.rst:388 msgid "which, when run, will produce:" -msgstr "" +msgstr "que, cuando se ejecuta, producirá:" #: ../Doc/howto/logging-cookbook.rst:394 msgid "" From 2c28f0add60643ac6c9c7c6908c7a34d68d91421 Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Sat, 8 Aug 2020 21:09:52 -0300 Subject: [PATCH 5/9] traducido 15% --- howto/logging-cookbook.po | 74 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 70 insertions(+), 4 deletions(-) diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index ed85768392..af253f0b74 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-08-06 10:50-0300\n" +"PO-Revision-Date: 2020-08-08 21:08-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -329,7 +329,9 @@ msgstr "" msgid "which, when run, will produce:" msgstr "que, cuando se ejecuta, producirá:" +# Está OK traducir "listener" por "oyente"?? #: ../Doc/howto/logging-cookbook.rst:394 +#, fuzzy msgid "" "Prior to Python 3.5, the :class:`QueueListener` always passed every message " "received from the queue to every handler it was initialized with. (This was " @@ -340,29 +342,48 @@ msgid "" "of each message with the handler's level, and only passes a message to a " "handler if it's appropriate to do so." msgstr "" +"Antes de Python 3.5, :class:`QueueListener` siempre pasaba cada mensaje " +"recibido de la cola a cada gestor con el que se inicializaba. (Esto se debió " +"a que se asumió que el filtrado de nivel se realizó en el otro lado, donde " +"se llena la cola). A partir de 3.5, este comportamiento se puede cambiar " +"pasando un argumento de palabra clave ``respect_handler_level=True`` al " +"constructor del oyente . Cuando se hace esto, el oyente compara el nivel de " +"cada mensaje con el nivel del controlador, y solo pasa un mensaje a un " +"controlador si es apropiado hacerlo." #: ../Doc/howto/logging-cookbook.rst:407 msgid "Sending and receiving logging events across a network" -msgstr "" +msgstr "Enviar y recibir eventos logging a través de una red" +# tengo dudas con "extremo final del envío" #: ../Doc/howto/logging-cookbook.rst:409 +#, fuzzy msgid "" "Let's say you want to send logging events across a network, and handle them " "at the receiving end. A simple way of doing this is attaching a :class:" "`SocketHandler` instance to the root logger at the sending end::" msgstr "" +"Supongamos que desea enviar eventos logging a través de una red y " +"gestionarlos en el extremo receptor. Una forma sencilla de hacer esto es " +"adjuntar una instancia de :class:`SocketHandler` al logger raíz en el " +"extremo final del envío::" #: ../Doc/howto/logging-cookbook.rst:437 msgid "" "At the receiving end, you can set up a receiver using the :mod:" "`socketserver` module. Here is a basic working example::" msgstr "" +"En el extremo receptor, puede configurar un receptor usando el módulo :mod:" +"`socketserver`. Aquí hay un ejemplo básico de trabajo:" #: ../Doc/howto/logging-cookbook.rst:525 msgid "" "First run the server, and then the client. On the client side, nothing is " "printed on the console; on the server side, you should see something like:" msgstr "" +"Primero ejecuta el servidor, y luego el cliente. Del lado del cliente, nada " +"se imprime en la consola; del lado del servidor, se debería ver algo como " +"esto:" #: ../Doc/howto/logging-cookbook.rst:537 msgid "" @@ -372,11 +393,17 @@ msgid "" "implementing your alternative there, as well as adapting the above script to " "use your alternative serialization." msgstr "" +"Tenga en cuenta que existen algunos problemas de seguridad con pickle en " +"algunos escenarios. Si estos le afectan, puede usar un esquema de " +"serialización alternativo anulando el método :meth:`~ handlers.SocketHandler." +"makePickle` e implementando su alternativa allí, así como adaptar el script " +"anterior para usar su serialización alternativa." #: ../Doc/howto/logging-cookbook.rst:547 msgid "Adding contextual information to your logging output" -msgstr "" +msgstr "Agregar información contextual a su salida de logging" +# no estoy seguro de la parte "se liberan de memoria via recolector de basura". En la wikipedia en español lo llaman así. "se liberan de memoria" es una agregado mío. #: ../Doc/howto/logging-cookbook.rst:549 msgid "" "Sometimes you want logging output to contain contextual information in " @@ -392,12 +419,27 @@ msgid "" "logging an application, it could be hard to manage if the number of :class:" "`Logger` instances becomes effectively unbounded." msgstr "" +"A veces, desea que la salida de registro contenga información contextual " +"además de los parámetros pasados ​​a la llamada del logging. Por ejemplo, en " +"una aplicación en red, puede ser conveniente registrar información " +"específica del cliente en el registro (por ejemplo, el nombre de usuario del " +"cliente remoto o la dirección IP). Aunque puede usar el parámetro *extra* " +"para lograr esto, no siempre es conveniente pasar la información de esta " +"manera. Si bien puede resultar tentador crear instancias :class:`Logger` por " +"conexión, esta no es una buena idea porque estas instancias no se liberan de " +"memoria vía recolector de basura (*garbage collector*). Si bien esto no es " +"un problema en la práctica, cuando el número de instancias de :class:" +"`Logger` depende del nivel de granularidad que desea usar para registrar una " +"aplicación, podría ser difícil de administrar si el número de instancias :" +"class:`Logger` se vuelven efectivamente ilimitadas." #: ../Doc/howto/logging-cookbook.rst:564 msgid "Using LoggerAdapters to impart contextual information" -msgstr "" +msgstr "Uso de LoggerAdapters para impartir información contextual" +# "signatures" por "características"? #: ../Doc/howto/logging-cookbook.rst:566 +#, fuzzy msgid "" "An easy way in which you can pass contextual information to be output along " "with logging event information is to use the :class:`LoggerAdapter` class. " @@ -407,8 +449,16 @@ msgid "" "signatures as their counterparts in :class:`Logger`, so you can use the two " "types of instances interchangeably." msgstr "" +"Una manera fácil de pasar información contextual para que se genere junto " +"con la información de eventos logging es usar la clase :class:" +"`LoggerAdapter`. Esta clase está diseñada para parecerse a :class:`Logger`, " +"de modo que pueda llamar : meth:`debug`, :meth:`info`, :meth:`warning`, :" +"meth:`error`, :meth:`excepción`, :meth`critical` y :meth:`log`. Estos " +"métodos tienen las mismas características que sus contrapartes en :class:" +"`Logger`, por lo que puede usar los dos tipos de instancias indistintamente." #: ../Doc/howto/logging-cookbook.rst:574 +#, fuzzy msgid "" "When you create an instance of :class:`LoggerAdapter`, you pass it a :class:" "`Logger` instance and a dict-like object which contains your contextual " @@ -418,6 +468,13 @@ msgid "" "contextual information in the delegated call. Here's a snippet from the code " "of :class:`LoggerAdapter`::" msgstr "" +"Cuando creas una instancia de :class:`LoggerAdapter`, le pasas una " +"instancia :class:`Logger` y un objeto tipo dict que contiene tu información " +"contextual. Cuando llamas a uno de los métodos logging en una instancia de :" +"class:`LoggerAdapter`, este último delega la llamada a la instancia " +"subyacente de :class:`Logger` pasada a su constructor, y se arregla para " +"pasar la información contextual en la llamada delegada . Aquí hay un " +"fragmento del código de :class:`LoggerAdapter`::" #: ../Doc/howto/logging-cookbook.rst:590 msgid "" @@ -431,6 +488,15 @@ msgid "" "had passed an 'extra' keyword argument in the call to the adapter, it will " "be silently overwritten." msgstr "" +"El método :meth:`~LoggerAdapter.process` de :class:`LoggerAdapter` es donde " +"la información contextual se agrega a la salida del registro. Se pasa el " +"mensaje y los argumentos de palabra clave de la llamada logging, y devuelve " +"versiones (potencialmente) modificadas de estos para usar en la llamada al " +"logging subyacente. La implementación predeterminada de este método deja el " +"mensaje solo, pero inserta una clave 'extra' en el argumento de palabra " +"clave cuyo valor es el objeto tipo dict pasado al constructor. Por supuesto, " +"si ha pasado un argumento de palabra clave 'extra' en la llamada al " +"adaptador, se sobrescribirá silenciosamente." #: ../Doc/howto/logging-cookbook.rst:599 msgid "" From 35362d574f0b5396afb2069f522fbdac6d5ea39b Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Mon, 10 Aug 2020 08:13:11 -0300 Subject: [PATCH 6/9] =?UTF-8?q?peque=C3=B1o=20avance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- howto/logging-cookbook.po | 41 ++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index af253f0b74..44538e7cc2 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-08-08 21:08-0300\n" +"PO-Revision-Date: 2020-08-10 08:12-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -508,20 +508,31 @@ msgid "" "string, you just need to subclass :class:`LoggerAdapter` and override :meth:" "`~LoggerAdapter.process` to do what you need. Here is a simple example::" msgstr "" +"La ventaja de usar 'extra' es que los valores en el objeto dict se combinan " +"en la instancia :class:`LogRecord`__dict__, lo que le permite usar cadenas " +"personalizadas con sus instancias :class:`Formatter` que conocen las claves " +"del objeto dict. Si necesita un método diferente, por ejemplo, si desea " +"anteponer o agregar la información contextual a la cadena del mensaje, solo " +"necesita la subclase :class:`LoggerAdapter` y anular :meth:`~ LoggerAdapter." +"process` para hacer lo que necesita. Aquí hay un ejemplo simple:" #: ../Doc/howto/logging-cookbook.rst:615 msgid "which you can use like this::" -msgstr "" +msgstr "que puede usar así::" #: ../Doc/howto/logging-cookbook.rst:620 msgid "" "Then any events that you log to the adapter will have the value of " "``some_conn_id`` prepended to the log messages." msgstr "" +"Luego, cualquier evento que registre en el adaptador tendrá el valor de " +"``some_conn_id`` antepuesto a los mensajes de registro." #: ../Doc/howto/logging-cookbook.rst:624 msgid "Using objects other than dicts to pass contextual information" msgstr "" +"Usar objetos distintos a los diccionarios para transmitir información " +"contextual" #: ../Doc/howto/logging-cookbook.rst:626 msgid "" @@ -531,10 +542,15 @@ msgid "" "if you want to generate values dynamically (whereas the values in a dict " "would be constant)." msgstr "" +"No es necesario pasar un diccionario real a la :class:`LoggerAdapter` - " +"puedes pasar una instancia de una clase que implemente ``__getitem__`` y " +"``__iter__`` de modo que parezca un diccionario para el logging. Esto es " +"útil si quieres generar valores dinámicamente (mientras que los valores en " +"un diccionario son constantes)." #: ../Doc/howto/logging-cookbook.rst:635 msgid "Using Filters to impart contextual information" -msgstr "" +msgstr "Usar filtros para impartir información contextual" #: ../Doc/howto/logging-cookbook.rst:637 msgid "" @@ -544,6 +560,12 @@ msgid "" "can then be output using a suitable format string, or if needed a custom :" "class:`Formatter`." msgstr "" +"También puedes agregar información contextual a la salida del registro " +"utilizando un :class:`Filter` definido por el usuario. Las instancias de " +"``Filter`` pueden modificar los ``LogRecords`` que se les pasan, incluido el " +"agregado de atributos adicionales que luego se pueden generar utilizando " +"cadena de caracteres con el formato adecuado, o si es necesario, un :class:" +"`Formatter` personalizado." #: ../Doc/howto/logging-cookbook.rst:642 msgid "" @@ -556,14 +578,23 @@ msgid "" "format string can be used to get similar output to that shown above. Here's " "an example script::" msgstr "" +"Por ejemplo, en una aplicación web, la solicitud que se está procesando (o " +"al menos, las partes interesantes de la misma) se pueden almacenar en una " +"variable *threadlocal* (:class:`threading.local`) y luego se puede acceder a " +"ella desde ``Filter`` para agregar información de la solicitud, - digamos, " +"la dirección IP remota y el nombre de usuario-, al ``LogRecord``, usando los " +"nombres de atributo 'ip' y 'user' como en el ejemplo anterior de " +"``LoggerAdapter``. En ese caso, se puede usar el mismo formato de cadena de " +"caracteres para obtener un resultado similar al que se muestra arriba. Aquí " +"hay un script de ejemplo::" #: ../Doc/howto/logging-cookbook.rst:688 msgid "which, when run, produces something like:" -msgstr "" +msgstr "que cuando se ejecuta, produce algo como:" #: ../Doc/howto/logging-cookbook.rst:709 msgid "Logging to a single file from multiple processes" -msgstr "" +msgstr "Logging a un sólo archivo desde múltiples procesos" #: ../Doc/howto/logging-cookbook.rst:711 msgid "" From c3c0b5a96934fa85e31f03237a380ceccd4c7751 Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Fri, 14 Aug 2020 20:32:56 -0300 Subject: [PATCH 7/9] avance 20% --- howto/logging-cookbook.po | 78 +++++++++++++++++++++++++++++++++++---- 1 file changed, 70 insertions(+), 8 deletions(-) diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index 44538e7cc2..08f59eb33f 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-08-10 08:12-0300\n" +"PO-Revision-Date: 2020-08-14 20:32-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Last-Translator: Carlos A. Crespo \n" "Language: es\n" -"X-Generator: Poedit 2.2.4\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/howto/logging-cookbook.rst:5 msgid "Logging Cookbook" @@ -596,7 +596,10 @@ msgstr "que cuando se ejecuta, produce algo como:" msgid "Logging to a single file from multiple processes" msgstr "Logging a un sólo archivo desde múltiples procesos" +# Traté de refrasear las primeras oraciones para que no sea super repetitivo. +# No tengo claro cómo es todo el tema de socket y si está bien traducido "socket server", "working socket". #: ../Doc/howto/logging-cookbook.rst:711 +#, fuzzy msgid "" "Although logging is thread-safe, and logging to a single file from multiple " "threads in a single process *is* supported, logging to a single file from " @@ -611,6 +614,18 @@ msgid "" "includes a working socket receiver which can be used as a starting point for " "you to adapt in your own applications." msgstr "" +"Aunque logging es seguro para subprocesos, y logging a un solo archivo desde " +"múltiples subprocesos en un solo proceso *es* compatible, el registro en un " +"solo archivo desde *múltiples procesos* *no* es compatible, porque no existe " +"una forma estándar de serializar el acceso a un solo archivo en múltiples " +"procesos en Python. Si necesita hacer esto último, una forma de abordarlo es " +"hacer que todos los procesos se registren en una :class:`~handlers." +"SocketHandler`, y tener un proceso separado que implemente un servidor de " +"socket que lee del socket y los registros para archivar. (Si lo prefiere, " +"puede dedicar un hilo en uno de los procesos existentes para realizar esta " +"función.) :ref: `Esta sección ` documenta este enfoque con " +"más detalle e incluye un receptor socket que funciona que se puede utilizar " +"como punto de partida para que se adapte a sus propias aplicaciones" #: ../Doc/howto/logging-cookbook.rst:724 msgid "" @@ -622,6 +637,13 @@ msgid "" "`multiprocessing` module does not provide working lock functionality on all " "platforms (see https://bugs.python.org/issue3770)." msgstr "" +"También puedes escribir tu propio gestor que use la clase :class:" +"`~multiprocessing.Lock` del módulo :mod:`multiprocessing` para serializar el " +"acceso al archivo desde tus procesos. La existente :class:`FileHandler` y " +"las subclases no hacen uso de :mod:`multiprocessing` en la actualidad, " +"aunque pueden hacerlo en el futuro. Tenga en cuenta que, en la actualidad, " +"el módulo :mod:`multiprocessing` no proporciona la funcionalidad de bloqueo " +"de trabajo en todas las plataformas (ver https://bugs.python.org/issue3770)." #: ../Doc/howto/logging-cookbook.rst:734 msgid "" @@ -637,12 +659,25 @@ msgid "" "application, and can be used as the basis for code meeting your own specific " "requirements::" msgstr "" +"Alternativamente, puede usar una ``Queue`` y :class:`QueueHandler` para " +"enviar todos los logging a uno de los procesos en su aplicación multi-" +"proceso. El siguiente script de ejemplo demuestra cómo puede hacer esto; en " +"el ejemplo, un proceso de escucha independiente escucha los eventos enviados " +"por otros procesos y los registra de acuerdo con su propia configuración de " +"registro. Aunque el ejemplo solo demuestra una forma de hacerlo (por " +"ejemplo, es posible que desee utilizar un hilo de escucha en lugar de un " +"proceso de escucha separado; la implementación sería análoga), permite " +"configuraciones de logging completamente diferentes para el oyente y los " +"otros procesos en su aplicación. Y se puede utilizar como base para el " +"código que cumpla con sus propios requisitos específicos::" #: ../Doc/howto/logging-cookbook.rst:850 msgid "" "A variant of the above script keeps the logging in the main process, in a " "separate thread::" msgstr "" +"Una variante del script anterior mantiene el logging en el proceso " +"principal, en un hilo separado::" #: ../Doc/howto/logging-cookbook.rst:945 msgid "" @@ -653,10 +688,16 @@ msgid "" "events are generated in the worker processes) to direct the messages to the " "appropriate destinations." msgstr "" +"Esta variante muestra cómo puede, por ejemplo, aplicar la configuración para " +"logging particulares: el registrador ``foo`` tiene un gestor especial que " +"almacena todos los eventos en el subsistema ``foo`` en un archivo ``mplog-" +"foo.log``. Esto será utilizado por la maquinaria de registro en el proceso " +"principal (aunque los eventos logging se generen en los procesos de trabajo) " +"para dirigir los mensajes a los destinos apropiados." #: ../Doc/howto/logging-cookbook.rst:952 msgid "Using concurrent.futures.ProcessPoolExecutor" -msgstr "" +msgstr "Usando concurrent.futures.ProcessPoolExecutor" #: ../Doc/howto/logging-cookbook.rst:954 msgid "" @@ -664,22 +705,27 @@ msgid "" "your worker processes, you need to create the queue slightly differently. " "Instead of" msgstr "" +"Si desea utilizar :class:`concurrent.futures.ProcessPoolExecutor` para " +"iniciar sus procesos de trabajo, debe crear la cola de manera ligeramente " +"diferente. En vez de" #: ../Doc/howto/logging-cookbook.rst:962 msgid "you should use" -msgstr "" +msgstr "debería usar" +# No sé cómo traducir "worker creation". #: ../Doc/howto/logging-cookbook.rst:968 +#, fuzzy msgid "and you can then replace the worker creation from this::" -msgstr "" +msgstr "y entonces puedes reemplazar::" #: ../Doc/howto/logging-cookbook.rst:979 msgid "to this (remembering to first import :mod:`concurrent.futures`)::" -msgstr "" +msgstr "a esto (recuerda el primer *import* :mod:`concurrent.futures`)::" #: ../Doc/howto/logging-cookbook.rst:987 msgid "Using file rotation" -msgstr "" +msgstr "Usando rotación de archivos" #: ../Doc/howto/logging-cookbook.rst:992 msgid "" @@ -690,12 +736,20 @@ msgid "" "usage pattern, the logging package provides a :class:`~handlers." "RotatingFileHandler`::" msgstr "" +"A veces, se desea dejar que un archivo de registro crezca hasta cierto " +"tamaño y luego abra un nuevo archivo e inicie sesión en él. Es posible que " +"desee conservar una cierta cantidad de estos archivos, y cuando se hayan " +"creado tantos archivos, rote los archivos para que la cantidad de archivos y " +"el tamaño de los archivos permanezcan limitados. Para este patrón de uso, el " +"paquete logging proporciona :class:`~handlers.RotatingFileHandler`::" #: ../Doc/howto/logging-cookbook.rst:1024 msgid "" "The result should be 6 separate files, each with part of the log history for " "the application:" msgstr "" +"El resultado debe ser 6 archivos separados, cada uno con parte del historial " +"de registro de la aplicación:" #: ../Doc/howto/logging-cookbook.rst:1036 msgid "" @@ -704,16 +758,24 @@ msgid "" "``.1``. Each of the existing backup files is renamed to increment the suffix " "(``.1`` becomes ``.2``, etc.) and the ``.6`` file is erased." msgstr "" +"El archivo más actual siempre es :file:`logging_rotatingfile_example.out`, y " +"cada vez que alcanza el límite de tamaño, se le cambia el nombre con el " +"sufijo``.1``. Se cambia el nombre de cada uno de los archivos de respaldo " +"existentes para incrementar el sufijo (``.1`` se convierte en ``.2``, etc.) " +"y se borra el archivo ``.6``." #: ../Doc/howto/logging-cookbook.rst:1041 msgid "" "Obviously this example sets the log length much too small as an extreme " "example. You would want to set *maxBytes* to an appropriate value." msgstr "" +"Obviamente, este ejemplo establece la longitud del registro demasiado " +"pequeña como un ejemplo extremo. Se querrá establecer *maxBytes* en un valor " +"apropiado." #: ../Doc/howto/logging-cookbook.rst:1047 msgid "Use of alternative formatting styles" -msgstr "" +msgstr "Uso de estilos de formato alternativos" #: ../Doc/howto/logging-cookbook.rst:1049 #, python-format From 3dc721f6da11337dd8a1de863daddc848c03465c Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Mon, 17 Aug 2020 16:34:42 -0300 Subject: [PATCH 8/9] avance 40% --- howto/logging-cookbook.po | 154 +++++++++++++++++++++++++++++++++++--- 1 file changed, 144 insertions(+), 10 deletions(-) diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index 08f59eb33f..0ff9894574 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-08-14 20:32-0300\n" +"PO-Revision-Date: 2020-08-17 16:32-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -786,6 +786,11 @@ msgid "" "`string.Template` (added in Python 2.4) and :meth:`str.format` (added in " "Python 2.6)." msgstr "" +"Cuando se agregó logging a la biblioteca estándar de Python, la única forma " +"de formatear mensajes con contenido variable era usar el método de formateo " +"'%'. Desde entonces, Python ha ganado dos nuevos enfoques de formato: :class:" +"`string.Template` (agregado en Python 2.4) y :meth:`str.format` (agregado en " +"Python 2.6)." #: ../Doc/howto/logging-cookbook.rst:1055 msgid "" @@ -799,6 +804,16 @@ msgid "" "meth:`str.format` or :class:`string.Template`. Here's an example console " "session to show the possibilities:" msgstr "" +"Logging (a partir de la versión 3.2) proporciona un soporte mejorado para " +"estos dos estilos de formato adicionales. La clase :class:`Formatter` ha " +"sido mejorada para tomar un parámetro de palabra clave adicional llamado " +"``style``. El valor predeterminado es ``'%'``, pero otros valores posibles " +"son ``'{'`` y ``'$'``, que corresponden a los otros dos estilos de formato. " +"La compatibilidad con versiones anteriores se mantiene de forma " +"predeterminada (como era de esperar), pero al especificar explícitamente un " +"parámetro de estilo, tiene la capacidad de especificar cadenas de formato " +"que funcionan con :meth:`str.format` o :class:`string.Template`. Aquí hay " +"una sesión de consola de ejemplo para mostrar las posibilidades:" #: ../Doc/howto/logging-cookbook.rst:1089 #, python-format @@ -807,9 +822,14 @@ msgid "" "completely independent of how an individual logging message is constructed. " "That can still use %-formatting, as shown here::" msgstr "" +"Tenga en cuenta que el formato de logging para la salida final a los " +"registros es completamente independiente de cómo se construye un mensaje de " +"registro individual. Para eso todavía puede usar el formateo \"%\", como se " +"muestra aquí:" +# No entiendo este bloque en inglés ni en español :P #: ../Doc/howto/logging-cookbook.rst:1097 -#, python-format +#, fuzzy, python-format msgid "" "Logging calls (``logger.debug()``, ``logger.info()`` etc.) only take " "positional parameters for the actual logging message itself, with keyword " @@ -824,6 +844,20 @@ msgid "" "logging calls which are out there in existing code will be using %-format " "strings." msgstr "" +"Las llamadas de Logging (``logger.debug()``, ``logger.info()``, etc.) solo " +"toman parámetros posicionales para el mensaje de registro real en sí, con " +"parámetros de palabras clave que se usan solo para determinar opciones sobre " +"cómo gestionar la llamada real a Logging (por ejemplo, el parámetro de " +"palabra clave `` exc_info '' para indicar que la información de rastreo debe " +"registrarse, o el parámetro de palabra clave `` extra '' para indicar " +"información contextual adicional que se agregará al registro). Por lo tanto, " +"no puede realizar llamadas de registro directamente usando la sintaxis: " +"meth: `str.format` o: class:` string.Template`, porque internamente el " +"paquete de registro usa% -formatting para fusionar la cadena de formato y " +"los argumentos de las variables. No habría ningún cambio en esto mientras se " +"conserva la compatibilidad con versiones anteriores, ya que todas las " +"llamadas de registro que están en el código existente usarán cadenas de" +"% -format." #: ../Doc/howto/logging-cookbook.rst:1110 msgid "" @@ -833,6 +867,12 @@ msgid "" "will call ``str()`` on that object to get the actual format string. Consider " "the following two classes::" msgstr "" +"Sin embargo, existe una forma en la que puede usar el formato {} - y $ - " +"para construir sus mensajes de registro individuales. Recuerde que para un " +"mensaje puede usar un objeto arbitrario como una cadena de caracteres de " +"formato de mensaje, y que el paquete logging llamará a ``str()`` en ese " +"objeto para obtener la cadena de carácteres de formato real. Considere las " +"siguientes dos clases::" #: ../Doc/howto/logging-cookbook.rst:1134 #, python-format @@ -845,6 +885,14 @@ msgid "" "__ (double underscore --- not to be confused with _, the single underscore " "used as a synonym/alias for :func:`gettext.gettext` or its brethren)." msgstr "" +"Cualquiera de estos puede usarse en lugar de una cadena de formato, para " +"permitir que se use el formato {} - o $ - para construir la parte del " +"\"mensaje\" real que aparece en la salida del registro en lugar de " +"\"%(message)s\" o \"{message}\" o \"$message\". Es un poco difícil de " +"manejar usar los nombres de las clases siempre que quieras registrar algo, " +"pero es bastante aceptable si usas un alias como __ (doble subrayado --- no " +"confundir con _, el subrayado simple usado como sinónimo/alias para :func:" +"`gettext.gettext` o sus hermanos)." #: ../Doc/howto/logging-cookbook.rst:1142 msgid "" @@ -852,6 +900,10 @@ msgid "" "copy and paste into your own code. They can be used as follows (assuming " "that they're declared in a module called ``wherever``):" msgstr "" +"Las clases anteriores no están incluidas en Python, aunque son bastante " +"fáciles de copiar y pegar en su propio código. Se pueden usar de la " +"siguiente manera (asumiendo que están declaradas en un módulo llamado " +"``wherever``):" #: ../Doc/howto/logging-cookbook.rst:1164 msgid "" @@ -859,6 +911,9 @@ msgid "" "you would of course use ``logger.debug()`` or similar to actually log using " "this approach." msgstr "" +"Si bien los ejemplos anteriores usan ``print()`` para mostrar cómo funciona " +"el formateo, por supuesto usaría ``logger.debug()`` o similar para realmente " +"registrar usando este enfoque." #: ../Doc/howto/logging-cookbook.rst:1168 msgid "" @@ -870,22 +925,34 @@ msgid "" "not just the format string. That's because the __ notation is just syntax " "sugar for a constructor call to one of the XXXMessage classes." msgstr "" +"Una cosa a tener en cuenta es que no paga una penalización de rendimiento " +"significativa con este enfoque: el formateo real no ocurre cuando realiza la " +"llamada a logging, sino cuando (y si) el mensaje registrado está a punto de " +"ser enviado a un registro por un gestor. Entonces, lo único un poco inusual " +"que podría confundirte es que los paréntesis rodean la cadena de formato y " +"los argumentos, no solo la cadena de formato. Eso es porque la notación __ " +"es solo azúcar sintáctico para una llamada de constructor a una de las " +"clases XXXMessage." #: ../Doc/howto/logging-cookbook.rst:1176 msgid "" "If you prefer, you can use a :class:`LoggerAdapter` to achieve a similar " "effect to the above, as in the following example::" msgstr "" +"Si lo prefiere, puede usar :class:`LoggerAdapter` para lograr un efecto " +"similar al anterior, como en el siguiente ejemplo::" #: ../Doc/howto/logging-cookbook.rst:1207 msgid "" "The above script should log the message ``Hello, world!`` when run with " "Python 3.2 or later." msgstr "" +"El script anterior debería registrar el mensaje ``Hello, world!`` Cuando se " +"ejecuta con Python 3.2 o posterior." #: ../Doc/howto/logging-cookbook.rst:1216 msgid "Customizing ``LogRecord``" -msgstr "" +msgstr "Personalización de ``LogRecord``" #: ../Doc/howto/logging-cookbook.rst:1218 msgid "" @@ -897,12 +964,22 @@ msgid "" "disabled). Before Python 3.2, there were only two places where this creation " "was done:" msgstr "" +"Cada evento logging está representado por una instancia :class:`LogRecord`. " +"Cuando se registra un evento y no se filtra por el nivel de un registrador, " +"se crea :class:`LogRecord`, se llena con información sobre el evento y luego " +"se pasa a los gestores de ese registrador (y sus antepasados, hasta (e " +"incluyéndolo) el registrador donde se deshabilita una mayor propagación en " +"la jerarquía). Antes de Python 3.2, solo había dos lugares donde se " +"realizaba esta creación:" #: ../Doc/howto/logging-cookbook.rst:1225 msgid "" ":meth:`Logger.makeRecord`, which is called in the normal process of logging " "an event. This invoked :class:`LogRecord` directly to create an instance." msgstr "" +":meth:`Logger.makeRecord`, que se llama en el proceso normal de registro de " +"un evento. Esto invoca :class:`LogRecord` directamente para crear una " +"instancia." #: ../Doc/howto/logging-cookbook.rst:1228 msgid "" @@ -912,12 +989,19 @@ msgid "" "via a :class:`~handlers.SocketHandler`, or in JSON form via an :class:" "`~handlers.HTTPHandler`)." msgstr "" +":func:`makeLogRecord`, que se llama con un diccionario que contiene " +"atributos que se agregarán al *LogRecord*. Esto se suele invocar cuando se " +"ha recibido un diccionario adecuado a través de la red (por ejemplo, en " +"forma de *pickle* a través de :class:`~handlers.SocketHandler`, o en formato " +"JSON a través de :class:`~handlers.HTTPHandler`)." #: ../Doc/howto/logging-cookbook.rst:1234 msgid "" "This has usually meant that if you need to do anything special with a :class:" "`LogRecord`, you've had to do one of the following." msgstr "" +"Por lo general, esto significa que si necesita hacer algo especial con :" +"class:`LogRecord`, debe hacer una de las siguientes cosas." #: ../Doc/howto/logging-cookbook.rst:1237 msgid "" @@ -925,6 +1009,9 @@ msgid "" "makeRecord`, and set it using :func:`~logging.setLoggerClass` before any " "loggers that you care about are instantiated." msgstr "" +"Cree su propia subclase :class:`Logger`, que anula :meth:`Logger." +"makeRecord`, y configúrelo usando :func:`~logging.setLoggerClass` antes de " +"que se creen instancias de los registradores que le interesan." #: ../Doc/howto/logging-cookbook.rst:1240 msgid "" @@ -932,6 +1019,9 @@ msgid "" "special manipulation you need when its :meth:`~Filter.filter` method is " "called." msgstr "" +"Agregua un :class:`Filter` a un registrador o gestor, que realiza la " +"manipulación especial necesaria que necesita cuando se llama a su método :" +"meth:`~Filter.filter`." #: ../Doc/howto/logging-cookbook.rst:1244 msgid "" @@ -940,6 +1030,10 @@ msgid "" "attempt to set its own :class:`Logger` subclass, and the one which did this " "last would win." msgstr "" +"El primer enfoque sería un poco difícil de manejar en el escenario en el que " +"(digamos) varias bibliotecas diferentes quisieran hacer cosas diferentes. " +"Cada uno intentaría establecer su propia subclase :class:`Logger`, y el que " +"hiciera esto último ganaría." #: ../Doc/howto/logging-cookbook.rst:1249 msgid "" @@ -949,6 +1043,12 @@ msgid "" "to remember to do this every time they introduced a new logger (which they " "would do simply by adding new packages or modules and doing ::" msgstr "" +"El segundo enfoque funciona razonablemente bien en muchos casos, pero no le " +"permite, por ejemplo, usar una subclase especializada de :class:`LogRecord`. " +"Los desarrolladores de bibliotecas pueden establecer un filtro adecuado en " +"sus registradores, pero tendrían que recordar hacerlo cada vez que " +"introduzcan un nuevo registrador (lo que harían simplemente agregando nuevos " +"paquetes o módulos y haciendo ::" #: ../Doc/howto/logging-cookbook.rst:1257 msgid "" @@ -959,8 +1059,16 @@ msgid "" "so output from that handler would not reflect the intentions of the library " "developer." msgstr "" +"a nivel de módulo). Probablemente sean demasiadas cosas en las que pensar. " +"Los desarrolladores también podrían agregar el filtro a :class:`~logging." +"NullHandler` adjunto a su registrador de nivel superior, pero esto no se " +"invocaría si un desarrollador de aplicaciones adjuntara un controlador a un " +"registrador de biblioteca de nivel inferior --- así que la salida de ese " +"gestor no reflejaría las intenciones del desarrollador de la biblioteca." +# ¿"fábrica"? #: ../Doc/howto/logging-cookbook.rst:1263 +#, fuzzy msgid "" "In Python 3.2 and later, :class:`~logging.LogRecord` creation is done " "through a factory, which you can specify. The factory is just a callable you " @@ -969,6 +1077,12 @@ msgid "" "signature as the :class:`~logging.LogRecord` constructor, as :class:" "`LogRecord` is the default setting for the factory." msgstr "" +"En Python 3.2 y posterior, la creación :class:`~logging.LogRecord` se " +"realiza a través de una fábrica, que puede especificar. La fábrica es solo " +"un invocable que puede configurar con :func:`~logging.setLogRecordFactory`, " +"e interrogar con :func:`~logging.getLogRecordFactory`. La fábrica se invoca " +"con la misma firma que el constructor :class:`~logging.LogRecord`, ya que :" +"class:`LogRecord` es la configuración predeterminada de la fábrica." #: ../Doc/howto/logging-cookbook.rst:1270 msgid "" @@ -977,6 +1091,10 @@ msgid "" "additional attributes to the record once created, using a pattern similar to " "this::" msgstr "" +"Este enfoque permite que una fábrica personalizada controle todos los " +"aspectos de la creación de *LogRecord*. Por ejemplo, podría devolver una " +"subclase, o simplemente agregar algunos atributos adicionales al registro " +"una vez creado, usando un patrón similar a este::" #: ../Doc/howto/logging-cookbook.rst:1283 msgid "" @@ -987,10 +1105,17 @@ msgid "" "time overhead to all logging operations, and the technique should only be " "used when the use of a :class:`Filter` does not provide the desired result." msgstr "" +"Este patrón permite que diferentes bibliotecas encadenen fábricas juntas, y " +"siempre que no sobrescriban los atributos de las demás o sobrescriban " +"involuntariamente los atributos proporcionados como estándar, no debería " +"haber sorpresas. Sin embargo, debe tenerse en cuenta que cada eslabón de la " +"cadena agrega una sobrecarga de tiempo de ejecución a todas las operaciones " +"de registro, y la técnica solo debe usarse cuando el uso de :class:`Filter` " +"no proporciona el resultado deseado." #: ../Doc/howto/logging-cookbook.rst:1294 msgid "Subclassing QueueHandler - a ZeroMQ example" -msgstr "" +msgstr "Subclasificación QueueHandler - un ejemplo de ZeroMQ" #: ../Doc/howto/logging-cookbook.rst:1296 msgid "" @@ -998,42 +1123,51 @@ msgid "" "of queues, for example a ZeroMQ 'publish' socket. In the example below,the " "socket is created separately and passed to the handler (as its 'queue')::" msgstr "" +"Puede usar una subclase :class:`QueueHandler` para enviar mensajes a otros " +"tipos de colas, por ejemplo, un socket de 'publicación' ZeroMQ. En el " +"siguiente ejemplo, el socket se crea por separado y se pasa al gestor (como " +"su 'cola')::" #: ../Doc/howto/logging-cookbook.rst:1315 msgid "" "Of course there are other ways of organizing this, for example passing in " "the data needed by the handler to create the socket::" msgstr "" +"Por supuesto, hay otras formas de organizar esto, por ejemplo, pasando los " +"datos que necesita el gestor para crear el socket::" #: ../Doc/howto/logging-cookbook.rst:1333 msgid "Subclassing QueueListener - a ZeroMQ example" -msgstr "" +msgstr "Subclasificación QueueListener - un ejemplo de ZeroMQ" #: ../Doc/howto/logging-cookbook.rst:1335 msgid "" "You can also subclass :class:`QueueListener` to get messages from other " "kinds of queues, for example a ZeroMQ 'subscribe' socket. Here's an example::" msgstr "" +"También puede subclasificar :class:`QueueListener` para obtener mensajes de " +"otros tipos de colas, por ejemplo, un socket de 'suscripción' de ZeroMQ. " +"Aquí tienes un ejemplo::" #: ../Doc/howto/logging-cookbook.rst:1354 msgid "Module :mod:`logging`" -msgstr "" +msgstr "Módulo :mod:`logging`" #: ../Doc/howto/logging-cookbook.rst:1354 msgid "API reference for the logging module." -msgstr "" +msgstr "Referencia de API para el módulo logging" #: ../Doc/howto/logging-cookbook.rst:1357 msgid "Module :mod:`logging.config`" -msgstr "" +msgstr "Módulo :mod:`logging.config`" #: ../Doc/howto/logging-cookbook.rst:1357 msgid "Configuration API for the logging module." -msgstr "" +msgstr "API de configuración para el módulo logging." #: ../Doc/howto/logging-cookbook.rst:1360 msgid "Module :mod:`logging.handlers`" -msgstr "" +msgstr "Módulo :mod:`logging.handlers`" #: ../Doc/howto/logging-cookbook.rst:1360 msgid "Useful handlers included with the logging module." From 4b0bc60be7fce307f6966078fff69e20dbfb6e4b Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Sat, 22 Aug 2020 17:49:30 -0300 Subject: [PATCH 9/9] avance 50% --- howto/logging-cookbook.po | 81 +++++++++++++++++++++++++++++++++++---- 1 file changed, 74 insertions(+), 7 deletions(-) diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index 0ff9894574..bbb43bdc56 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: 2020-08-17 16:32-0300\n" +"PO-Revision-Date: 2020-08-22 17:46-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1171,19 +1171,19 @@ msgstr "Módulo :mod:`logging.handlers`" #: ../Doc/howto/logging-cookbook.rst:1360 msgid "Useful handlers included with the logging module." -msgstr "" +msgstr "Gestores útiles incluidos con el módulo logging" #: ../Doc/howto/logging-cookbook.rst:1362 msgid ":ref:`A basic logging tutorial `" -msgstr "" +msgstr ":ref:`Un tutorial básico de logging `" #: ../Doc/howto/logging-cookbook.rst:1364 msgid ":ref:`A more advanced logging tutorial `" -msgstr "" +msgstr ":ref:`Un tutorial de logging más avanzado `" #: ../Doc/howto/logging-cookbook.rst:1368 msgid "An example dictionary-based configuration" -msgstr "" +msgstr "Una configuración de ejemplo basada en diccionario." #: ../Doc/howto/logging-cookbook.rst:1370 msgid "" @@ -1192,6 +1192,11 @@ msgid "" "en/1.9/topics/logging/#configuring-logging>`_. This dictionary is passed to :" "func:`~config.dictConfig` to put the configuration into effect::" msgstr "" +"A continuación se muestra un ejemplo de un diccionario de configuración de " +"logging, tomado de la `documentación del proyecto Django `_. Este " +"diccionario se pasa a :func:`~config.dictConfig` para poner en efecto la " +"configuración::" #: ../Doc/howto/logging-cookbook.rst:1426 msgid "" @@ -1199,16 +1204,24 @@ msgid "" "section `_ of the Django documentation." msgstr "" +"Para obtener más información sobre esta configuración, puede ver la `sección " +"correspondiente `_ de la documentación de Django." #: ../Doc/howto/logging-cookbook.rst:1433 msgid "Using a rotator and namer to customize log rotation processing" msgstr "" +"Usar un rotador y un nombre para personalizar el procesamiento de rotación " +"de registros" #: ../Doc/howto/logging-cookbook.rst:1435 msgid "" "An example of how you can define a namer and rotator is given in the " "following snippet, which shows zlib-based compression of the log file::" msgstr "" +"Un ejemplo de cómo puede definir un nombre y un rotador se da en el " +"siguiente fragmento, que muestra la compresión basada en zlib del archivo de " +"registro::" #: ../Doc/howto/logging-cookbook.rst:1453 msgid "" @@ -1216,10 +1229,13 @@ msgid "" "\"container\" such as you’d find in an actual gzip file. This snippet is " "just for illustration purposes." msgstr "" +"Estos no son archivos .gz \"verdaderos\", ya que son datos comprimidos sin " +"ningún \"contenedor\" como el que encontraría en un archivo gzip real. Este " +"fragmento es solo para fines ilustrativos." #: ../Doc/howto/logging-cookbook.rst:1458 msgid "A more elaborate multiprocessing example" -msgstr "" +msgstr "Un ejemplo de multiprocesamiento más elaborado" #: ../Doc/howto/logging-cookbook.rst:1460 msgid "" @@ -1228,8 +1244,14 @@ msgid "" "simple, but serve to illustrate how more complex ones could be implemented " "in a real multiprocessing scenario." msgstr "" +"El siguiente ejemplo de trabajo muestra cómo logging se puede usar con " +"multiprocesamiento usando archivos de configuración. Las configuraciones son " +"bastante simples, pero sirven para ilustrar cómo se podrían implementar las " +"más complejas en un escenario real de multiprocesamiento." +# En algunas lineas anteriores me pasa lo mismo. No sé muy bien qué significa y cómo traducir "listener process" y "worker processes". Separé en varias oraciones para que sea más fluida la lectura. #: ../Doc/howto/logging-cookbook.rst:1465 +#, fuzzy msgid "" "In the example, the main process spawns a listener process and some worker " "processes. Each of the main process, the listener and the workers have three " @@ -1241,16 +1263,28 @@ msgid "" "purely illustrative, but you should be able to adapt this example to your " "own scenario." msgstr "" +"En el ejemplo, el proceso principal genera un proceso de escucha y algunos " +"procesos de trabajo. Cada uno de los procesos principales, el oyente y los " +"de trabajo tienen tres configuraciones separadas (todos los de trabajo " +"comparten la misma configuración). Podemos ver el registro en el proceso " +"principal, cómo los de trabajo inician sesión en un *QueueHandler* y cómo el " +"oyente implementa un *QueueListener*. Este último con una configuración de " +"registro más compleja, organiza el envío de eventos recibidos a través de la " +"cola a los gestores especificados en la configuración. Tenga en cuenta que " +"estas configuraciones son puramente ilustrativas, pero usted debe ser capaz " +"de adaptar este ejemplo a su propio escenario." #: ../Doc/howto/logging-cookbook.rst:1475 msgid "" "Here's the script - the docstrings and the comments hopefully explain how it " "works::" msgstr "" +"Aquí está el script, el docstrings y los comentarios, esperemos, expliquen " +"cómo funciona::" #: ../Doc/howto/logging-cookbook.rst:1687 msgid "Inserting a BOM into messages sent to a SysLogHandler" -msgstr "" +msgstr "Insertar BOM en mensajes enviados a SysLogHandler" #: ../Doc/howto/logging-cookbook.rst:1689 msgid "" @@ -1260,6 +1294,12 @@ msgid "" "encoded using UTF-8. (See the :rfc:`relevant section of the specification " "<5424#section-6>`.)" msgstr "" +":rfc:`5424` requiere que se envíe un mensaje Unicode a un demonio syslog " +"como un conjunto de bytes que tienen la siguiente estructura: un componente " +"opcional puro-ASCII, seguido de una Marca de Orden de Bytes UTF-8 (*BOM* por " +"sus siglas en inglés), seguida de codificado en Unicode usando UTF-8. " +"(Consulte la :rfc:`sección relevante de la especificación <5424 # " +"section-6>`.)" #: ../Doc/howto/logging-cookbook.rst:1695 msgid "" @@ -1268,6 +1308,10 @@ msgid "" "incorrectly, with the BOM appearing at the beginning of the message and " "hence not allowing any pure-ASCII component to appear before it." msgstr "" +"En Python 3.1, se agregó código a :class:`~logging.handlers.SysLogHandler` " +"para insertar BOM en el mensaje, pero desafortunadamente, se implementó " +"incorrectamente, BOM aparece al principio del mensaje y, por lo tanto, no " +"permite ningun componente ASCII puro para que aparezca antes." #: ../Doc/howto/logging-cookbook.rst:1701 msgid "" @@ -1277,18 +1321,29 @@ msgid "" "an optional pure-ASCII sequence before it and arbitrary Unicode after it, " "encoded using UTF-8, then you need to do the following:" msgstr "" +"Como este comportamiento no funciona, el código de inserción BOM incorrecto " +"se elimina de Python 3.2.4 y versiones posteriores. Sin embargo, no se está " +"reemplazando, y si desea producir mensajes compatibles con :rfc:`5424` que " +"incluyan BOM, una secuencia opcional de ASCII puro antes y Unicode " +"arbitrario después, codificados usando UTF-8; entonces necesita hacer lo " +"siguiente:" #: ../Doc/howto/logging-cookbook.rst:1707 msgid "" "Attach a :class:`~logging.Formatter` instance to your :class:`~logging." "handlers.SysLogHandler` instance, with a format string such as::" msgstr "" +"Adjunte una instancia de :class:`~logging.Formatter` a su instancia :class:" +"`~logging.handlers.SysLogHandler`, con una cadena de caracteres de formato " +"como::" #: ../Doc/howto/logging-cookbook.rst:1713 msgid "" "The Unicode code point U+FEFF, when encoded using UTF-8, will be encoded as " "a UTF-8 BOM -- the byte-string ``b'\\xef\\xbb\\xbf'``." msgstr "" +"El punto de código Unicode U+ FEFF, cuando se codifica usando UTF-8, se " +"codificará como una BOM UTF-8, la cadena de bytes ``b'\\xef\\xbb\\xbf'``." #: ../Doc/howto/logging-cookbook.rst:1716 msgid "" @@ -1296,6 +1351,10 @@ msgid "" "that the data that appears in there after substitution is always ASCII (that " "way, it will remain unchanged after UTF-8 encoding)." msgstr "" +"Reemplace la sección ASCII con los marcadores de posición que desee, pero " +"asegúrese de que los datos que aparecen allí después de la sustitución sean " +"siempre ASCII (de esa manera, permanecerán sin cambios después de la " +"codificación UTF-8)." #: ../Doc/howto/logging-cookbook.rst:1720 msgid "" @@ -1303,6 +1362,9 @@ msgid "" "which appears there after substitution contains characters outside the ASCII " "range, that's fine -- it will be encoded using UTF-8." msgstr "" +"Reemplace la sección Unicode con los marcadores de posición que desee; si " +"los datos que aparecen allí después de la sustitución contienen caracteres " +"fuera del rango ASCII, está bien: se codificarán usando UTF-8." #: ../Doc/howto/logging-cookbook.rst:1724 msgid "" @@ -1312,6 +1374,11 @@ msgid "" "complain, but your messages will not be RFC 5424-compliant, and your syslog " "daemon may complain." msgstr "" +"El mensaje formateado *se* codificará utilizando la codificación UTF-8 por " +"``SysLogHandler``. Si sigue las reglas anteriores, debería poder producir " +"mensajes compatibles con :rfc:`5424`. Si no lo hace, es posible que el " +"registro no se queje, pero sus mensajes no serán compatibles con RFC 5424 y " +"su demonio syslog puede quejarse." #: ../Doc/howto/logging-cookbook.rst:1731 msgid "Implementing structured logging"