abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 08:00 | Komunita

    Před týdnem Nintendo zažalovalo společnost Tropic Haze zastřešující vývoj open source emulátoru přenosné herní konzole Nintendo Switch yuzu. Včera se společnosti dohodly (pdf, pdf), že Tropic Haze zaplatí Nintendu 2,4 milionu dolarů a vývoj emulátoru neprodleně ukončí. Ukončen byl také vývojáři yuzu podporovaný vývoj open source emulátoru přenosné herní konzole Nintendo 3DS Citra.

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | IT novinky

    Apple dnes představil nový MacBook Air s čipem M3. Jak na něm pojede Asahi Linux?

    Ladislav Hagara | Komentářů: 2
    včera 16:44 | IT novinky

    Hodnota Bitcoinu, decentralizované kryptoměny překonala 65 000 dolarů (1 517 360 korun).

    Ladislav Hagara | Komentářů: 7
    včera 15:11 | Nová verze

    Byla vydána nová stabilní verze 6.6 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 122. Přehled novinek i s náhledy v příspěvku na blogu. Nově umí webovým stránkách vnutit tmavý styl. Webové panely podporují rozšíření. Vylepšena byla i Pošta a Poznámky.

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | IT novinky

    Z aktuálních globálních statistik společnosti Statcounter: na desktopu má Linux podíl 4,03 %, Firefox 7,26 %, …

    Ladislav Hagara | Komentářů: 5
    včera 07:00 | Nová verze

    Linuxová distribuce openmediavault (Wikipedie) založená na Debianu a určená pro datová úložiště na síti (NAS) byla vydána ve verzi 7 (Mastodon). Její kódový název je Sandworm (písečný červ). Přehled novinek v oficiálním oznámení. Nejnovější openmediavault je založen na Debianu 12 s kódovým názvem Bookworm.

    Ladislav Hagara | Komentářů: 0
    3.3. 14:33 | Zajímavý software

    Ente je open source služba pro ukládání a sdílení fotografií a videí. Alternativa k výchozím aplikacím od Googlu a Applu. V pátek byly uvolněny zdrojové kódy serveru pod licencí AGPL 3.0 [Hacker News].

    Ladislav Hagara | Komentářů: 10
    3.3. 11:55 | Nová verze

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    2.3. 22:33 | Komunita

    Nintendo žaluje Tropic Haze, tj. společnost zastřešující vývoj open source emulátoru přenosné herní konzole Nintendo Switch yuzu (Wikipedie).

    Ladislav Hagara | Komentářů: 3
    2.3. 13:00 | Nová verze

    Komunita kolem Linuxu From Scratch (LFS) vydala Linux From Scratch 12.1 a Linux From Scratch 12.1 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází s Glibc 2.39, Binutils 2.42 a Linuxem 6.7.4. Současně bylo oznámeno vydání verze 12.1 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.

    Ladislav Hagara | Komentářů: 0
    Steam
     (32%)
     (29%)
     (8%)
     (9%)
     (23%)
    Celkem 129 hlasů
     Komentářů: 0
    Rozcestník

    Dotaz: logging v Pythonu

    16.10.2015 11:36 Pat1 | skóre: 15
    logging v Pythonu
    Přečteno: 329×
    Pouzivam v pythonu modul logging a rad bych dosahl hierarchickeho oznacovani logu z jednotlivych modulu.

    Nyni pouzivam knihovnu nasledujicim zpusobem:

    #app1.py

    import logging

    logger = logging.getLogger('app1')

    #mod1.py

    import logging

    logger = logging.getLogger('app1.mod1')

    S vystupem jsem nyni spokojen, rad bych ale pridal druhou aplikaci vyuzivajici stejny modul a tady narazim na problem. Rad bych aby se prvni cast parametru v getLogger menila podle toho z jake aplikace je modul importovan. Nejak se mi nedari zjistit jak na to. Existuje nejaky cisty zpusob jak dosahnout pozadovaneho vysledku?

    Řešení dotazu:


    Odpovědi

    Řešení 1× (Pat1 (tazatel))
    16.10.2015 13:25 Sajfi | skóre: 8
    Rozbalit Rozbalit vše Re: logging v Pythonu
    Cesty jsou různé, pokud chceš co nejméně měnit stávající kód, řešil bych to přes Formatter:
    
    import logging
    
    # ----- inicializace logovani pri startu app -----
    
    formatter = logging.Formatter("%(asctime)s %(levelname)s app1.%(name)s %(message)s")
    
    console_handler = logging.StreamHandler()
    console_handler.level = logging.INFO
    console_handler.formatter = formatter
    
    root = logging.getLogger()
    root.addHandler(console_handler)
    root.level = logging.INFO
    
    # ----- kdekoliv v app -----
    
    logging.info("foo")
    
    logger1 = logging.getLogger("logger1")
    logger1.info("baz")
    
    logger2 = logging.getLogger("logger2")
    logger2.info("bar")
    
    A na inicializaci logování je logging.config.dictConfig nebo logging.config.fileConfig, takže by odpadnul kód v ukázce a stačilo by dvě řádky:
    
    import logging
    
    logging.lileConfig('/soubor/s/konfiguraci.ini')
    
    Na stávající kód nebude pořeba sáhnout a vše bude jen konfigurace aplikace a její inicializace při startu.
    17.10.2015 10:44 Pat1 | skóre: 15
    Rozbalit Rozbalit vše Re: logging v Pythonu
    Napsat jmeno aplikace rovnou do formatteru, jak jednoduche (: Je to jina cesta nez nad kterou jsem premyslel, ale je to presne ono. Diky

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.