Cuando ejecuto lo siguiente dentro de IPython Notebook, no veo ningún resultado:
import logging
logging.basicConfig(level=logging.DEBUG)
logging.debug("test")
¿Alguien sabe cómo hacerlo para que pueda ver el mensaje de "prueba" dentro del cuaderno?
python
logging
jupyter-notebook
jupyter
Kyle Brandt
fuente
fuente
ipython3 notebook --version
regresa1.0.0
Respuestas:
Intenta lo siguiente:
De acuerdo con logging.basicConfig :
Parece que ipython notebook llama a basicConfig (o set handler) en alguna parte.
fuente
logger
se cree una raíz .ipykernel
4.5 (posiblemente tan pronto como 4.4) github.com/jupyter/notebook/issues/1397Si aún desea usar
basicConfig
, vuelva a cargar el módulo de registro de esta manerafuente
reload
ahora esimp.reload
Tengo entendido que la sesión de IPython inicia el registro, por lo que basicConfig no funciona. Aquí está la configuración que funciona para mí (desearía que esto no fuera tan asqueroso ya que quiero usarlo para casi todos mis portátiles):
Ahora cuando corro:
Obtengo un archivo "mylog.log" en el mismo directorio que mi cuaderno que contiene:
Tenga en cuenta que si vuelve a ejecutar esto sin reiniciar la sesión de IPython, escribirá entradas duplicadas en el archivo, ya que ahora habría dos controladores de archivos definidos
fuente
Tenga en cuenta que stderr es la secuencia predeterminada para el
logging
módulo, por lo que en las notebooks IPython y Jupyter es posible que no vea nada a menos que configure la secuencia en stdout:fuente
Lo que funcionó para mí ahora (Jupyter, servidor de notebook es: 5.4.1, IPython 7.0.1)
Ahora puedo usar el registrador para imprimir información, de lo contrario solo vería un mensaje del nivel predeterminado (
logging.WARNING
) o superior.fuente
basicConfig()
tp para que funcione.Puede configurar el registro ejecutando
%config Application.log_level="INFO"
Para obtener más información, consulte las opciones del kernel de IPython
fuente
%config
para ver los clasificados admitidos,Application
no es uno de ellos. ipython 7.9.0 aquí.Configuré un registrador para ambos archivos y quería que apareciera en el cuaderno. Resulta que agregar un controlador de archivos borra el controlador de flujo predeterminado.
fuente
Parece que las soluciones que funcionaron para versiones anteriores de ipython / jupyter ya no funcionan.
Aquí hay una solución de trabajo para ipython 7.9.0 (también probado con jupyter server 6.0.2):
fuente