Avatar billede margitbork Nybegynder
23. august 2004 - 14:42 Der er 7 kommentarer og
1 løsning

logning via log4j eller commons logging

Jeg har et problem med min logning. Når jeg logger vhja en log4j logger logger den fint ud til min log fil, men når jeg forsøger at omlægge til commons logging kommer bliver der ikke skrevet noget i logfilen.
Jeg har før omlagt logning fra log4j til commons, og det burde da også være helt trivielt, da commons logging vil logge v.hj.a. log4j hvis ikke andet er angivet. Men det virker bare ikke. Jeg kan forestille mig at der er noget opsætning jeg mangler at komme omkring, men jeg kan ikke se hvad det er,
Gode råd ??
Avatar billede margitbork Nybegynder
23. august 2004 - 14:43 #1
Jeg syntes at jeg burde kunne skifte mellem disse linjer uden problemer.

    private static Logger log = Logger.getLogger(TestCalc.class);
    //private static Log log = LogFactory.getLog(TestCalc.class);
Avatar billede simonvalter Praktikant
23. august 2004 - 19:30 #2
Ikke et svar men syntes aligevel jeg ville poste den ;)
http://www.jroller.com/page/fate/?anchor=clogging_revisited
Avatar billede arne_v Ekspert
23. august 2004 - 20:57 #3
Det burde virke.

Det her virker fint hos mig:

public class MultiLogging {
    public static void main(String[] args) {
        // log4j config
        org.apache.log4j.BasicConfigurator.configure();
        org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.INFO);
        // JDK 1.4 logging
        java.util.logging.Logger log1 = java.util.logging.Logger.getLogger(MultiLogging.class.getName());
        log1.info("log1");
        // log4j logging
        org.apache.log4j.Logger log2 = org.apache.log4j.Logger.getLogger(MultiLogging.class.getName());
        log2.info("log2");
        // commons logging
        org.apache.commons.logging.Log log3 = org.apache.commons.logging.LogFactory.getLog(MultiLogging.class);
        log3.info("log3");
    }
}

Kan du evt. uddybe lidt hvordan det ikke virker.
Avatar billede margitbork Nybegynder
24. august 2004 - 08:12 #4
Da jeg fjernede jUnit fra min class path virkede det. Jeg fandt ud af at min commons.logger log blev instantieret som en JDK1.4 logger - det fik mig på sporet at at der måtte skjule sig en log konfiguration i en af de jar filer jeg havde i projektet.
Men jeg har et andet - mindre - problem. Når jeg ikke har en commons-logging.properties virker det fint, men når jeg har en commons-logging.properties med følgende linje
org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4JLogger
får jeg en class cast exception. Er det en forkert logger??
Avatar billede arne_v Ekspert
24. august 2004 - 08:14 #5
Prøv med:

org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory
Avatar billede margitbork Nybegynder
24. august 2004 - 08:15 #6
org.apache.commons.logging.impl.Log4jFactory
-fandt det selv
Avatar billede simonvalter Praktikant
18. april 2005 - 21:33 #7
lukketid ?
Avatar billede margitbork Nybegynder
16. august 2006 - 10:46 #8
lukketid. Det var et problem med webspheres logning. Jeg gik bare over til at anvende rent log4j...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester