Po uruchomieniu następującego programu w notatniku IPython nie widzę żadnych danych wyjściowych:
import logging
logging.basicConfig(level=logging.DEBUG)
logging.debug("test")
Czy ktoś wie, jak to zrobić, żebym mógł zobaczyć komunikat „testowy” wewnątrz notebooka?
python
logging
jupyter-notebook
jupyter
Kyle Brandt
źródło
źródło
ipython3 notebook --version
powraca1.0.0
Odpowiedzi:
Spróbuj wykonać następujące czynności:
Zgodnie z logging.basicConfig :
Wygląda na to, że ipython notebook wywołuje gdzieś basicConfig (lub set handler).
źródło
logger
zostanie utworzony root .ipykernel
4.5 (prawdopodobnie już w 4.4) github.com/jupyter/notebook/issues/1397Jeśli nadal chcesz używać
basicConfig
, załaduj ponownie moduł logowania w ten sposóbźródło
reload
jest terazimp.reload
Rozumiem, że sesja IPython rozpoczyna rejestrowanie, więc basicConfig nie działa. Oto konfiguracja, która działa dla mnie (chciałbym, żeby nie wyglądała tak obrzydliwie, ponieważ chcę jej używać do prawie wszystkich moich notebooków):
Teraz kiedy biegnę:
Otrzymuję plik „mylog.log” w tym samym katalogu co mój notatnik, który zawiera:
Zwróć uwagę, że jeśli uruchomisz to ponownie bez ponownego uruchamiania sesji IPython, zapisze zduplikowane wpisy do pliku, ponieważ byłyby teraz zdefiniowane dwa programy obsługi plików
źródło
Pamiętaj, że stderr jest domyślnym strumieniem dla
logging
modułu, więc w notatnikach IPython i Jupyter możesz nic nie zobaczyć, chyba że skonfigurujesz strumień na stdout:źródło
Co teraz zadziałało (Jupyter, serwer notebooków to: 5.4.1, IPython 7.0.1)
Teraz mogę użyć loggera do wydrukowania informacji, w przeciwnym razie zobaczyłbym tylko komunikat z poziomu domyślnego (
logging.WARNING
) lub wyższego.źródło
basicConfig()
tp sprawiają, że praca.Możesz skonfigurować logowanie, uruchamiając
%config Application.log_level="INFO"
Aby uzyskać więcej informacji, zobacz opcje jądra IPython
źródło
%config
aby zobaczyć obsługiwane sklasyfikowane,Application
nie jest jednym z nich. ipython 7.9.0 tutaj.Ustawiłem rejestrator dla obu plików i chciałem, aby pojawił się na notebooku. Okazuje się, że dodanie obsługi plików usuwa domyślną obsługę strumienia.
źródło
Wygląda na to, że rozwiązania, które działały na starszych wersjach ipython / jupyter, już nie działają.
Oto działające rozwiązanie dla ipythona 7.9.0 (testowane również z serwerem jupyter 6.0.2):
źródło