Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET
Nauč se s námi víc. Využij 50% zdarma na e-learningové kurzy.
C# week
Avatar
Neaktivní uživatel:6.3.2013 15:23

Nazdar, rád by som vo svojom XNA projekte použil logovanie do súboru. Aký loger by ste mi poradili? Díky

Odpovědět
6.3.2013 15:23
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:7.3.2013 15:51

To mi naozaj nikto nevie poradiť nejaký vhodný loger pre XNA?

Nahoru Odpovědět
7.3.2013 15:51
Neaktivní uživatelský účet
Avatar
Luboš Běhounek Satik
Autoredaktor
Avatar
Luboš Běhounek Satik:7.3.2013 15:56

Můžeš třeba použít můj:
http://pastebin.com/1ivGYNDM

Nahoru Odpovědět
7.3.2013 15:56
https://www.facebook.com/peasantsandcastles/
Avatar
Neaktivní uživatel:7.3.2013 16:19

díky, vyzerá to dobre. Dúfam že ti nebude vadiť, keď to použijem v hre do školy? Samozrejme to použijem ako tvoju prácu a uvediem ťa buď v credits, alebo v dokumentácii.

Nahoru Odpovědět
7.3.2013 16:19
Neaktivní uživatelský účet
Avatar
Kit
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Kit:7.3.2013 16:32

Nemyslím si, že je úplně vhodné to převzít. Podle mne je lepší se tím jen nechat inspirovat a vytvořit si vlastní logování podle vlastních potřeb. Osobně bych to asi udělal o něco jednodušeji, uvedené řešení se mi jeví hodně komplexní.

Nahoru Odpovědět
7.3.2013 16:32
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:7.3.2013 16:48

tu ani nejde o úplné prevzatie, skôr o povolenie použiť a prispôsobiť si Satikovu prácu na "komerčný" účel

Nahoru Odpovědět
7.3.2013 16:48
Neaktivní uživatelský účet
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Neaktivní uživatel
David Čápka:7.3.2013 17:00

Logování do souboru je jen o appendování řádku, ne? Co je na tom těžkého? Pokud pracuješ na hře, logger máš napsaný za pár minut.

Nahoru Odpovědět
7.3.2013 17:00
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Odpovídá na David Čápka
Neaktivní uživatel:7.3.2013 17:10

Tu ale nejde o to, že to nie je problém naprogramovať sám, ale moja pôvodná otázka znela Aký loger by ste mi poradili? Očakával som nejaké komerčné riešenie, ktoré sa vám osvedčilo pri XNA...

Nahoru Odpovědět
7.3.2013 17:10
Neaktivní uživatelský účet
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:7.3.2013 17:14

Luboš Běhounek Satik do svého kódu zahrnul i možnosti přepínání režimu, což je docela užitečné a Neaktivní uživatelvi se to zřejmě líbí.

Také si myslím, že by se to dalo napsat jednodušeji, ale každý máme trochu jiný styl.

Nahoru Odpovědět
7.3.2013 17:14
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Luboš Běhounek Satik
Autoredaktor
Avatar
Odpovídá na Neaktivní uživatel
Luboš Běhounek Satik:7.3.2013 17:25

Použít to samozřejmě můžeš, jinak bych to sem nedával :)

Způsobů, jak logy zapisovat je spousta, já si vybral tenhle, má asi nejmenší režii.

Více by se mi třeba líbilo, kdyby byly 4 úrovně logovaných informací - info, warning, error a fatal a podle toho se pak dalo filtrovat nebo nechalo přepínat, jak detailně má zapisovat, ale s tím jsem se zrovna nechtěl babrat, když jsem to asi před rokem psal :) .

Samozřejmě, že nepotřebné věci může vyházet a co mu chybí si doprogramovat, tenhle používám ve své XNA strategii a vyhovuje mi :) .

Nahoru Odpovědět
7.3.2013 17:25
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Kit:7.3.2013 17:26

Například místo

if (logType == LogType.FILE || logType == LogType.CONSOLEANDFILE)
    {
         logFile(log);
    }
if (logType == LogType.CONSOLE || logType == LogType.CONSOLEANDFILE)
    {
         logConsole(log);
    }

bych určitě použil raději

switch (logType) {
    FILE:
        logFile(log);
        break;
    CONSOLE:
        logConsole(log);
        break;
    CONSOLEANDFILE:
        logConsole(log);
        logFile(log);
        break;
}

a to nejen kvůli rychlosti, ale prostě proto, že se mi to jeví přehlednější. Každý programujeme svým stylem a pokud do svého programu začleňujeme kusy programů od jiných autorů, po čase je problém se v tom vyznat.

Proto si myslím, že by sis měl logování napsat po svém. Satik ti poskytl materiál pro inspiraci. Nic na tom není. Komerční řešení nehledej, udělej si ho.

Nahoru Odpovědět
7.3.2013 17:26
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Kit:7.3.2013 17:31

Pardon, použil jsem switch dle syntaxe Javy, tak si to případně uprav podle C#.

Nahoru Odpovědět
7.3.2013 17:31
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Luboš Běhounek Satik
Autoredaktor
Avatar
Odpovídá na Kit
Luboš Běhounek Satik:7.3.2013 17:38

Teď bych tuhle část kódu napsal jinak, upravil bych ten enum:

public enum LogType
{
    FILE = 1,               // logging to file
    CONSOLE = 2,            // logging to console
    MAIL = 4,               // logging by třeba mail :)
}

a pak používal normálně binární logiku:

if (logType & LogType.FILE > 0)
    logFile(log);

if (logType & LogType.CONSOLE > 0)
    logConsole(log);

if (logType & LogType.MAIL > 0)
    logMail(log);

a když bych chtěl logovat obojí, tak bych jen zadal

logType = LogType.FILE | LogType.CONSOLE;
Nahoru Odpovědět
7.3.2013 17:38
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:7.3.2013 17:46

Jistě, i tak to jde. De facto jsi výčet nahradil množinou. Ještě bys ho mohl nahradit seznamem, ale to by se hodilo spíš pro Python.

Nahoru Odpovědět
7.3.2013 17:46
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Neaktivní uživatel:7.3.2013 23:00

Díky ešte raz všetkým, ktorí si dali tú námahu, ale po dnešnom večernom rozhovore s profesorom si budem musieť aj tak nájsť komerčné riešenie. Vidím to teda s najväčšou pravdepodobnosťou na NLog http://nlog-project.org/

Nahoru Odpovědět
7.3.2013 23:00
Neaktivní uživatelský účet
Avatar
Kit
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Kit:8.3.2013 10:07

Co si představuješ pod pojmem "komerčné riešenie"? Zatím nevidím žádný důvod pro komerční řešení.

Nahoru Odpovědět
8.3.2013 10:07
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:8.3.2013 11:06

Ja tiež nie, ale profesor vyžaduje využitie komerčných prostriedkov ako napíklad Log4Net, NLog, ...

Editováno 8.3.2013 11:07
Nahoru Odpovědět
8.3.2013 11:06
Neaktivní uživatelský účet
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Neaktivní uživatel
David Čápka:8.3.2013 11:09

Nevím, proč bys měl platit za zapsání řádku do souboru, je to úplný nesmysl. Navíc .NET má i něco podobného v sobě: http://msdn.microsoft.com/…s.trace.aspx

Nahoru Odpovědět
8.3.2013 11:09
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Odpovídá na David Čápka
Neaktivní uživatel:8.3.2013 11:12

on samozrejme nevyžaduje používanie platených vecí, len proste chce aby sme nezabíjali čas programovaním už naprogramovaných vecí a teda aby sme využívali už hotové riešenia...

Nahoru Odpovědět
8.3.2013 11:12
Neaktivní uživatelský účet
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Neaktivní uživatel
David Čápka:8.3.2013 11:22

Jedno hotové řešení má přímo .NET, poslal jsem ti ho. Ta třída by měla 100 řádků, zatím co to tu řešíš bys ji měl hotovou.

Nahoru Odpovědět
8.3.2013 11:22
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Odpovídá na David Čápka
Neaktivní uživatel:8.3.2013 11:25

Ja už to od včera neriešim, len odpovedám na vaše otázky :) Už tam mám importnutý NLog. Ale aj tak dík

Nahoru Odpovědět
8.3.2013 11:25
Neaktivní uživatelský účet
Avatar
Kit
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Kit:8.3.2013 12:54

V tom případě po vás nechce jen komerční řešení, ale vyhovuje i Open Source nebo Public Domain. NLog má licenci BSD, která také není komerční.

Nahoru Odpovědět
8.3.2013 12:54
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:8.3.2013 13:06

v jeho chápaní je komerčné všetko, čo si nenapíšem sám :)

Nahoru Odpovědět
8.3.2013 13:06
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 23 zpráv z 23.