Avatar billede fredand Forsker
28. marts 2007 - 09:06 Der er 4 kommentarer og
1 løsning

How to log in 2 packages with log4j

Hello!

I have manage to config my log4j to log to console and file with separate log levels!

#CONSOLE AND FILE LOGGING

#CONSOLE LOGGING
log4j.rootLogger=ALL, CONSOLE, DAILYROLLINGFILEAPPENDER
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.CONSOLE.Threshold=DEBUG

#FILE LOGGING
log4j.appender.DAILYROLLINGFILEAPPENDER=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DAILYROLLINGFILEAPPENDER.layout=org.apache.log4j.PatternLayout
log4j.appender.DAILYROLLINGFILEAPPENDER.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.DAILYROLLINGFILEAPPENDER.File=D:/apps/log/app_A.log
log4j.appender.DAILYROLLINGFILEAPPENDER.Threshold=ALL

To the console I get DEBUG and to file I get ALL.

How ever now I need to have one more file logger to an other file.

File app_A.log should get logging from package com.myapps.app_a and in file app_B.log I would like to get logging from com.myapps.app_b.

I guess I need to set upp one more file logger but how do I seperate them between packages?

Best regards
Fredrik
Avatar billede arne_v Ekspert
08. april 2007 - 05:20 #1
log4j.category.p1 = debug, p1logfile
log4j.appender.p1logfile.threshold = debug
log4j.appender.p1logfile = org.apache.log4j.FileAppender
log4j.appender.p1logfile.file = C:/p1.log
log4j.appender.p1logfile.layout = org.apache.log4j.PatternLayout
log4j.appender.p1logfile.layout.ConversionPattern = %d %C %M %p: %m%n
log4j.category.p2 = debug, p2logfile
log4j.appender.p2logfile.threshold = debug
log4j.appender.p2logfile = org.apache.log4j.FileAppender
log4j.appender.p2logfile.file = C:/p2.log
log4j.appender.p2logfile.layout = org.apache.log4j.PatternLayout
log4j.appender.p2logfile.layout.ConversionPattern = %d %C %M %p: %m%n
Avatar billede arne_v Ekspert
08. april 2007 - 05:20 #2
package april;

import org.apache.log4j.*;

public class MultiLog4j {
    public static void main(String[] args) {
        PropertyConfigurator.configure("C:\\log4j.properties");
        Logger log11 = Logger.getLogger("p1.C1");
        log11.info("This is a test for p1.C1");
        Logger log12 = Logger.getLogger("p1.C2");
        log12.info("This is a test for p1.C2");
        Logger log21 = Logger.getLogger("p2.C1");
        log21.info("This is a test for p2.C1");
        Logger log22 = Logger.getLogger("p2.C2");
        log22.info("This is a test for p2.C2");
    }
}
Avatar billede arne_v Ekspert
08. april 2007 - 05:20 #3
I assume the code is more or less self explanatory !
Avatar billede arne_v Ekspert
21. juli 2007 - 16:45 #4
OK ?
Avatar billede fredand Forsker
23. juli 2007 - 08:04 #5
Hello!
Sorry for the delay!!
Thanks alot!!
Fredrik
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