Concurrentloghandler.

Manipulador de registro simultâneo (substituição de drop-in para rotatingfilehandler)
Baixe Agora

Concurrentloghandler. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • The Apache License 2.0
  • Preço:
  • FREE
  • Nome do editor:
  • Lowell Alleman

Concurrentloghandler. Tag


Concurrentloghandler. Descrição

Manipulador de registro concorrente (substituição de drop-in para rotatingfilehandler) ConcurrentLogHandler é um módulo Python que fornece um manipulador de log adicional para o pacote de log padrão do Python (PEP 282). Este manipulador irá escrever eventos de log para registrar o arquivo que é girado quando o arquivo de log atinge um determinado tamanho. Vários processos podem gravar com segurança para o mesmo arquivo de log concorrent.detailsA classe de concurristrotingFileHandler é uma substituição de drop-in para o manipulador de log padrão do Python RotatingFileHandler. Este módulo usa o bloqueio de arquivos para que vários processos possam registrar simultaneamente para um único arquivo sem soltar ou clobbering log eventos. Este módulo fornece um esquema de rotação de arquivos como com RotatingFileHanler. É tomado cuidado extra para garantir que os logs possam ser girados com segurança antes que o processo de rotação seja iniciado. (Este módulo funciona em torno do edição de renomeação do arquivo com rotaçãoFileHandler no Windows, onde uma falha de rotação significa que todos os eventos de log subseqüentes são descartados). Esses módulos tentam preservar os registros de log a todo custo. Isso significa que os arquivos de log aumentarão do que o tamanho máximo especificado (rotação). Então, se o espaço em disco estiver apertado, você pode querer ficar com rotatingfilehandler, que vai aderir estritamente ao tamanho máximo do arquivo. Se você tiver várias instâncias de um script (ou vários scripts) em execução ao mesmo tempo e escrevendo para o mesmo log Arquivo, então todos os scripts devem estar usando concurristrotingfilehandler. Você não deve tentar misturar e combinar rotatingfilehandler e concurristrotingfilehandler.Este pacote pacote de portalocker para lidar com o bloqueio de arquivos. Por favor, esteja ciente de que o Portalocker suporta apenas uma plataforma UNIX (POSIX) e, portanto, este pacote suporta apenas essas plataformas. Além disso.Enstallationuse o seguinte comando para instalar este pacote: Easy_install ConcurrentLogHandlerif Você está instalando a partir da origem, você pode usar: Python Setup.py Installexamplessimple Examenthere é um exemplo que demonstrando como usar este módulo diretamente (de dentro do código Python): do loging IMPORT GetLogger, InfoFrom CLOGHANDLER Importar ConcursoRotatingFileHandlerImport OSLog = GetLogger () # Use um caminho absoluto para evitar o problema de rotação do arquivo. OS.PATH.ABSPATH ("MyLogFile.log") # gire o log depois de chegar a 512k, mantenha 5 cópias antigas.RotateHandler = ConcurrentroTatingFileHandler (logfile, "A", 512 * 1024, 5) Log.addhandler (Rotatehandler) Log.setlevel (rotatehandler) (Rotatehandler) Info) log.info ("Aqui está uma mensagem de log muito emocionante, apenas para você") Exemplo de fallback automático Você está distribuindo seu código e você não tem certeza se o pacote ConcurrentLogHandler tiver sido Instalado em todos os lugares que seu código será executado, o Python facilita a falição graciosamente para o RotatingFileHandler, aqui é um exemplo: TENTE: De ClogHandler Import ConcurrentroTatingFileHandler como RFHandLerexcept Importerror: # Next 2 linhas são opcionais: Emitir um aviso para o usuário de avisos Importar avisar ("pacote de concurrentloghandler não instalado. Usando o manipulador de log built ") de logging.Handlers Import RotatingFileHandler como rfhandlerlog = getlogger () RotateHandler = rfhandler (" / path / mylogfile.log "," A ", 1048576, 15) Log.addhandler (Rotatehandler) ExampleThis Exemplo mostra como usar este manipulador de log com o arquivo de arquivo de configuração de log. Isso permite que você mantenha seu código de configuração de log separado do seu aplicativo Código do aplicativo.Exemplo Config File: Logging.ini: Teclas = Root HAND01 Keys = Form01 Nível = Notsetandlers = Hand01 Class = Handlers.ConcurrOttingFileHandlerLevel = NotSetFormatter = form01Args = ("rotating.log", "A", 512 * 1024, 5) formate = % (asctime) S% (NivelName) S% (mensagem) Sexample python Code: app.py:import log, logging.configimport cloghandlerlogging.config.fileconfig ("logging.ini") log = logging.getlogger () log.info ("Aqui está uma mensagem de log muito emocionante, apenas para você") Requisitos: · Pitão O que há de novo nesta versão: · Problema de nomeação de arquivo de bloqueio fixo · Reovado um problema menor em que os arquivos de bloqueio seriam nomeados indevidamente se o arquivo de log continhe ".log" no meio do nome do log. Por exemplo, se seu arquivo de log foi "/var/log/mycompany.logging.mysource.log", o arquivo de bloqueio seria nomeado "/var/log/mycompany.ging.mysource.lock", que não está correto. Obrigado a Dirk Rothe por apontar isso. Como isso introduz uma pequena diferença de comportamento de arquivo de bloqueio, certifique-se de que todos os gravadores concurantes sejam atualizados para 0.8.4 ao mesmo tempo, se esse problema efetuar você. · Atualizado EZ_SETUP.PY para 0.6c11


Concurrentloghandler. Software Relacionado

ntrack.

Biblioteca de rastreamento de status on-line de rede para aplicativos de desktop ...

112

Download