
Has anyone got any examples on how to programmatically create a logger / appender / pattern et. al in-line in code? I can't for the life of me get this running. Currently I've got the appender (file appender in this case) creating the output files, but all I get in them is stuff like: %PARSER_ERROR_d:MODULE:%PARSER_ERROR_msg% Which looks like the pattern stuff isn't started up properly. Cheers Lance

Hello Lance, Look into the junit test cases which do that type of operation all the time. For example, see: http://logback.qos.ch/xref-test/ch/qos/logback/classic/html/HTMLLayoutTest.h... http://logback.qos.ch/xref-test/ch/qos/logback/core/rolling/SizeBasedRolling... If that does not help, post your code here. Lance White wrote:
Has anyone got any examples on how to programmatically create a logger / appender / pattern et. al in-line in code?
I can't for the life of me get this running. Currently I've got the appender (file appender in this case) creating the output files, but all I get in them is stuff like:
%PARSER_ERROR_d:MODULE:%PARSER_ERROR_msg%
Which looks like the pattern stuff isn't started up properly.
Cheers
Lance
-- Ceki Gülcü Logback: The reliable, generic, fast and flexible logging framework for Java. http://logback.qos.ch

Cheers Ceki, I'll go through those. Lance -----Original Message----- From: logback-user-bounces@qos.ch [mailto:logback-user-bounces@qos.ch] On Behalf Of Ceki Gulcu Sent: 25 March 2009 16:02 To: logback users list Subject: Re: [logback-user] Programmmatically creatinglogger/appender/pattern Hello Lance, Look into the junit test cases which do that type of operation all the time. For example, see: http://logback.qos.ch/xref-test/ch/qos/logback/classic/html/HTMLLayoutTest.h... http://logback.qos.ch/xref-test/ch/qos/logback/core/rolling/SizeBasedRolling... If that does not help, post your code here. Lance White wrote:
Has anyone got any examples on how to programmatically create a logger / appender / pattern et. al in-line in code?
I can't for the life of me get this running. Currently I've got the appender (file appender in this case) creating the output files, but all I get in them is stuff like:
%PARSER_ERROR_d:MODULE:%PARSER_ERROR_msg%
Which looks like the pattern stuff isn't started up properly.
Cheers
Lance
-- Ceki Gülcü Logback: The reliable, generic, fast and flexible logging framework for Java. http://logback.qos.ch _______________________________________________ Logback-user mailing list Logback-user@qos.ch http://qos.ch/mailman/listinfo/logback-user No virus found in this incoming message. Checked by AVG - www.avg.com Version: 8.0.238 / Virus Database: 270.11.23/2016 - Release Date: 03/25/09 07:16:00

OK, I still can't get this working, and having looked at the junit src, they're all individual tests and I couldn't find any integrated tests in there. This is the simple test I'm trying to use. If I use the LoggerContext from the ILoggerFactory, then I get a log message to the console (using the standard stuff I presume) and no file is created. If I create the LoggerContext then no output is produced anywhere. Java is 1.5.0_16. Cheers Lance (p.s. I've got this working with log4j, but I'm trying to upgrade) --------------------------------------------------------------------------------- import org.slf4j.LoggerFactory; import ch.qos.logback.classic.Logger; import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.PatternLayout; import ch.qos.logback.classic.spi.LoggingEvent; import ch.qos.logback.core.rolling.FixedWindowRollingPolicy; import ch.qos.logback.core.rolling.RollingFileAppender; import ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy; public class Test2 { public Test2() { } public void run(String name) { LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); // LoggerContext lc = new LoggerContext(); Logger logger = lc.getLogger(name); PatternLayout layout = new PatternLayout(); layout.setPattern("%d:%msg%n"); RollingFileAppender<LoggingEvent> rfa = new RollingFileAppender<LoggingEvent>(); rfa.setContext(lc); rfa.setName(name + "_Appender"); rfa.setLayout(layout); rfa.setFile("c:\\" + name + ".log"); SizeBasedTriggeringPolicy<LoggingEvent> triggeringPolicy = new SizeBasedTriggeringPolicy<LoggingEvent>(); triggeringPolicy.setContext(lc); triggeringPolicy.setMaxFileSize(String.valueOf(50000)); triggeringPolicy.start(); rfa.setTriggeringPolicy(triggeringPolicy); FixedWindowRollingPolicy rollingPolicy = new FixedWindowRollingPolicy(); rollingPolicy.setContext(lc); rollingPolicy.setFileNamePattern("c:\\" + name + "-%i.log"); rollingPolicy.setMinIndex(1); rollingPolicy.setMaxIndex(10); rollingPolicy.setParent(rfa); rollingPolicy.start(); rfa.setRollingPolicy(rollingPolicy); logger.info("hello"); } public static void main(String[] args) { Test2 t = new Test2(); t.run("fred"); } } --------------------------------------------------------------------------------- -----Original Message----- From: logback-user-bounces@qos.ch [mailto:logback-user-bounces@qos.ch] On Behalf Of Lance White Sent: 25 March 2009 16:09 To: logback users list Subject: Re: [logback-user] Programmmatically creatinglogger/appender/pattern Cheers Ceki, I'll go through those. Lance -----Original Message----- From: logback-user-bounces@qos.ch [mailto:logback-user-bounces@qos.ch] On Behalf Of Ceki Gulcu Sent: 25 March 2009 16:02 To: logback users list Subject: Re: [logback-user] Programmmatically creatinglogger/appender/pattern Hello Lance, Look into the junit test cases which do that type of operation all the time. For example, see: http://logback.qos.ch/xref-test/ch/qos/logback/classic/html/HTMLLayoutTest.h... http://logback.qos.ch/xref-test/ch/qos/logback/core/rolling/SizeBasedRolling... If that does not help, post your code here. Lance White wrote:
Has anyone got any examples on how to programmatically create a logger / appender / pattern et. al in-line in code?
I can't for the life of me get this running. Currently I've got the appender (file appender in this case) creating the output files, but all I get in them is stuff like:
%PARSER_ERROR_d:MODULE:%PARSER_ERROR_msg%
Which looks like the pattern stuff isn't started up properly.
Cheers
Lance
-- Ceki Gülcü Logback: The reliable, generic, fast and flexible logging framework for Java. http://logback.qos.ch _______________________________________________ Logback-user mailing list Logback-user@qos.ch http://qos.ch/mailman/listinfo/logback-user No virus found in this incoming message. Checked by AVG - www.avg.com Version: 8.0.238 / Virus Database: 270.11.23/2016 - Release Date: 03/25/09 07:16:00 _______________________________________________ Logback-user mailing list Logback-user@qos.ch http://qos.ch/mailman/listinfo/logback-user No virus found in this incoming message. Checked by AVG - www.avg.com Version: 8.0.238 / Virus Database: 270.11.23/2016 - Release Date: 03/25/09 07:16:00

Of course... 5 minutes after posting this, I got it working! Ho hum! Lance -----Original Message----- From: logback-user-bounces@qos.ch [mailto:logback-user-bounces@qos.ch] On Behalf Of Lance White Sent: 26 March 2009 10:42 To: logback users list Subject: Re: [logback-user] Programmmatically creatinglogger/appender/pattern OK, I still can't get this working, and having looked at the junit src, they're all individual tests and I couldn't find any integrated tests in there. This is the simple test I'm trying to use. If I use the LoggerContext from the ILoggerFactory, then I get a log message to the console (using the standard stuff I presume) and no file is created. If I create the LoggerContext then no output is produced anywhere. Java is 1.5.0_16. Cheers Lance (p.s. I've got this working with log4j, but I'm trying to upgrade) --------------------------------------------------------------------------------- import org.slf4j.LoggerFactory; import ch.qos.logback.classic.Logger; import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.PatternLayout; import ch.qos.logback.classic.spi.LoggingEvent; import ch.qos.logback.core.rolling.FixedWindowRollingPolicy; import ch.qos.logback.core.rolling.RollingFileAppender; import ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy; public class Test2 { public Test2() { } public void run(String name) { LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); // LoggerContext lc = new LoggerContext(); Logger logger = lc.getLogger(name); PatternLayout layout = new PatternLayout(); layout.setPattern("%d:%msg%n"); RollingFileAppender<LoggingEvent> rfa = new RollingFileAppender<LoggingEvent>(); rfa.setContext(lc); rfa.setName(name + "_Appender"); rfa.setLayout(layout); rfa.setFile("c:\\" + name + ".log"); SizeBasedTriggeringPolicy<LoggingEvent> triggeringPolicy = new SizeBasedTriggeringPolicy<LoggingEvent>(); triggeringPolicy.setContext(lc); triggeringPolicy.setMaxFileSize(String.valueOf(50000)); triggeringPolicy.start(); rfa.setTriggeringPolicy(triggeringPolicy); FixedWindowRollingPolicy rollingPolicy = new FixedWindowRollingPolicy(); rollingPolicy.setContext(lc); rollingPolicy.setFileNamePattern("c:\\" + name + "-%i.log"); rollingPolicy.setMinIndex(1); rollingPolicy.setMaxIndex(10); rollingPolicy.setParent(rfa); rollingPolicy.start(); rfa.setRollingPolicy(rollingPolicy); logger.info("hello"); } public static void main(String[] args) { Test2 t = new Test2(); t.run("fred"); } } --------------------------------------------------------------------------------- -----Original Message----- From: logback-user-bounces@qos.ch [mailto:logback-user-bounces@qos.ch] On Behalf Of Lance White Sent: 25 March 2009 16:09 To: logback users list Subject: Re: [logback-user] Programmmatically creatinglogger/appender/pattern Cheers Ceki, I'll go through those. Lance -----Original Message----- From: logback-user-bounces@qos.ch [mailto:logback-user-bounces@qos.ch] On Behalf Of Ceki Gulcu Sent: 25 March 2009 16:02 To: logback users list Subject: Re: [logback-user] Programmmatically creatinglogger/appender/pattern Hello Lance, Look into the junit test cases which do that type of operation all the time. For example, see: http://logback.qos.ch/xref-test/ch/qos/logback/classic/html/HTMLLayoutTest.h... http://logback.qos.ch/xref-test/ch/qos/logback/core/rolling/SizeBasedRolling... If that does not help, post your code here. Lance White wrote:
Has anyone got any examples on how to programmatically create a logger / appender / pattern et. al in-line in code?
I can't for the life of me get this running. Currently I've got the appender (file appender in this case) creating the output files, but all I get in them is stuff like:
%PARSER_ERROR_d:MODULE:%PARSER_ERROR_msg%
Which looks like the pattern stuff isn't started up properly.
Cheers
Lance
-- Ceki Gülcü Logback: The reliable, generic, fast and flexible logging framework for Java. http://logback.qos.ch _______________________________________________ Logback-user mailing list Logback-user@qos.ch http://qos.ch/mailman/listinfo/logback-user No virus found in this incoming message. Checked by AVG - www.avg.com Version: 8.0.238 / Virus Database: 270.11.23/2016 - Release Date: 03/25/09 07:16:00 _______________________________________________ Logback-user mailing list Logback-user@qos.ch http://qos.ch/mailman/listinfo/logback-user No virus found in this incoming message. Checked by AVG - www.avg.com Version: 8.0.238 / Virus Database: 270.11.23/2016 - Release Date: 03/25/09 07:16:00 _______________________________________________ Logback-user mailing list Logback-user@qos.ch http://qos.ch/mailman/listinfo/logback-user No virus found in this incoming message. Checked by AVG - www.avg.com Version: 8.0.238 / Virus Database: 270.11.23/2016 - Release Date: 03/25/09 18:54:00

You need to invoke the start() method on most if not all logback components for them to function property. Lance White wrote:
OK, I still can't get this working, and having looked at the junit src, they're all individual tests and I couldn't find any integrated tests in there.
This is the simple test I'm trying to use. If I use the LoggerContext from the ILoggerFactory, then I get a log message to the console (using the standard stuff I presume) and no file is created. If I create the LoggerContext then no output is produced anywhere.
Java is 1.5.0_16.
Cheers
Lance
(p.s. I've got this working with log4j, but I'm trying to upgrade)
---------------------------------------------------------------------------------
import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.Logger; import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.PatternLayout; import ch.qos.logback.classic.spi.LoggingEvent; import ch.qos.logback.core.rolling.FixedWindowRollingPolicy; import ch.qos.logback.core.rolling.RollingFileAppender; import ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy;
public class Test2 { public Test2() { }
public void run(String name) { LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); // LoggerContext lc = new LoggerContext(); Logger logger = lc.getLogger(name);
PatternLayout layout = new PatternLayout(); layout.setPattern("%d:%msg%n");
RollingFileAppender<LoggingEvent> rfa = new RollingFileAppender<LoggingEvent>(); rfa.setContext(lc); rfa.setName(name + "_Appender"); rfa.setLayout(layout); rfa.setFile("c:\\" + name + ".log");
SizeBasedTriggeringPolicy<LoggingEvent> triggeringPolicy = new SizeBasedTriggeringPolicy<LoggingEvent>(); triggeringPolicy.setContext(lc); triggeringPolicy.setMaxFileSize(String.valueOf(50000)); triggeringPolicy.start(); rfa.setTriggeringPolicy(triggeringPolicy);
FixedWindowRollingPolicy rollingPolicy = new FixedWindowRollingPolicy(); rollingPolicy.setContext(lc); rollingPolicy.setFileNamePattern("c:\\" + name + "-%i.log"); rollingPolicy.setMinIndex(1); rollingPolicy.setMaxIndex(10); rollingPolicy.setParent(rfa); rollingPolicy.start(); rfa.setRollingPolicy(rollingPolicy);
logger.info("hello"); }
public static void main(String[] args) { Test2 t = new Test2(); t.run("fred"); } } ---------------------------------------------------------------------------------
-----Original Message----- From: logback-user-bounces@qos.ch [mailto:logback-user-bounces@qos.ch] On Behalf Of Lance White Sent: 25 March 2009 16:09 To: logback users list Subject: Re: [logback-user] Programmmatically creatinglogger/appender/pattern
Cheers Ceki, I'll go through those.
Lance
-----Original Message----- From: logback-user-bounces@qos.ch [mailto:logback-user-bounces@qos.ch] On Behalf Of Ceki Gulcu Sent: 25 March 2009 16:02 To: logback users list Subject: Re: [logback-user] Programmmatically creatinglogger/appender/pattern
Hello Lance,
Look into the junit test cases which do that type of operation all the time. For example, see:
http://logback.qos.ch/xref-test/ch/qos/logback/classic/html/HTMLLayoutTest.h... http://logback.qos.ch/xref-test/ch/qos/logback/core/rolling/SizeBasedRolling...
If that does not help, post your code here.
Lance White wrote:
Has anyone got any examples on how to programmatically create a logger / appender / pattern et. al in-line in code?
I can't for the life of me get this running. Currently I've got the appender (file appender in this case) creating the output files, but all I get in them is stuff like:
%PARSER_ERROR_d:MODULE:%PARSER_ERROR_msg%
Which looks like the pattern stuff isn't started up properly.
Cheers
Lance
-- Ceki Gülcü Logback: The reliable, generic, fast and flexible logging framework for Java. http://logback.qos.ch
participants (2)
-
Ceki Gulcu
-
Lance White