lendo a saída de um arquivo python sendo registrado no console

lendo a saída de um arquivo python sendo registrado no console

Comecei a brincar com o módulo de registro em Python recentemente. Minha saída é enviada para um arquivo de log agora. Até agora tudo bem. Mas eu também gostaria de poder acompanhar isso em andamento, sem lidar com diferentes manipuladores de arquivos de log em Python. E gosto da ideia geral de saber como redirecionar as coisas para o meu shell de qualquer maneira.

Então, o que eu quero é ter uma maneira de emitir python myscript.py foo bar maybepipe somethinga partir do shell, ver o arquivo de log sendo criado linha por linha e ainda ter meu arquivo de log quando terminar.

eu encontreiLer um arquivo que está sendo gravado ativamente, mas não tenho certeza de como as respostas fornecidas se traduzem neste caso. Alguém tem alguma sugestão?

Obrigado!

Responder1

Embora não seja exatamente o que você deseja, acho que seria mais fácil simplesmente emitir o comando:

tail -f arquivo de log

para ver o arquivo de log que está sendo gravado. Além disso, esta é uma abordagem geral que funciona com todos os programas que gravam em um arquivo de log, mas não fornece indicação visual de progresso.

Responder2

Eu me pergunto se você pode estar procurando por algo como

python meuscript.py | tee log.arquivo 

O bit "|tee logfile" pega uma cópia da saída (de stdout) e a despeja no arquivo log.file, e também a exibe no console.

informação relacionada