[logback-user] Lots of newbie questions :P
Nitro Star
nitrostar1 at gmail.com
Wed Sep 9 23:32:20 CEST 2009
Now I'm trying this, but I'm getting a NullPointerException on the first
start()
LoggerContext lc = (LoggerContext)
LoggerFactory.getILoggerFactory();
lc.reset();
//Setup Time Based File Naming and Triggering Policy
SizeAndTimeBasedFNATP<ILoggingEvent> timeBasedTriggering = new
SizeAndTimeBasedFNATP<ILoggingEvent>();
timeBasedTriggering.setContext(lc);
timeBasedTriggering.setMaxFileSize("500MB");
//Setup Time Based Rolling Policy
TimeBasedRollingPolicy<ILoggingEvent> rollingPolicy = new
TimeBasedRollingPolicy<ILoggingEvent>();
rollingPolicy.setContext(lc);
rollingPolicy.setFileNamePattern("bidderserver-%d{yyyy-MM-dd-HH:mm:ss}-"+hostname+"-ip.%i.log");
rollingPolicy.setTimeBasedFileNamingAndTriggeringPolicy(timeBasedTriggering);
//Set the rolling policy as a parent to the triggering policy
timeBasedTriggering.setTimeBasedRollingPolicy(rollingPolicy);
//Set up a Pattern
PatternLayout layout = new PatternLayout();
layout.setPattern("%d{yyyy-MM-dd HH:mm:ss},%t %m%n");
//Set up the Appender
RollingFileAppender<ILoggingEvent> rollingFileAppender = new
RollingFileAppender<ILoggingEvent>();
rollingFileAppender.setContext(lc);
rollingFileAppender.setAppend(true);
rollingFileAppender.setBufferedIO(true);
rollingFileAppender.setBufferSize(16000000);
rollingFileAppender.setPrudent(false);
rollingFileAppender.setImmediateFlush(false);
rollingFileAppender.setLayout(layout);
//Start!
timeBasedTriggering.start();
rollingPolicy.start();
layout.start();
rollingFileAppender.start();
On Wed, Sep 9, 2009 at 11:17 AM, Nitro Star <nitrostar1 at gmail.com> wrote:
> Hi!
>
> I have been playing with logback for a couple of days and find a lot of its
> functionality amazing! I have a couple of questions that I was wondering if
> I could address!
>
> I'm using logback to log information about a java server that I'm setting
> up. I want my log files to change every half hour and to never exceed 500MB.
> I would also like the logging system to cache 16MB of data before flushing
> to disk! Finally, I want the fileNamePattern to depend on the hostname where
> I'm running the server!
>
> So this are my questions:
> a. I have found a way for the log files to change every hour, but not every
> half hour... Is there a way to do this? Is there a way I can define my own
> RollingPolicy?
> b. Is there a way for me to define the fileNamePattern somewhere else other
> than in the logback.xml file?
> c. Is there a flush() function I can call when my server exists?
>
> For b. I have tried something like:
>
> LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
> Logger logger = lc.getLogger("ROOT");
>
> RollingFileAppender<ILoggingEvent> app =
> (RollingFileAppender<ILoggingEvent>)logger.getAppender("RootFileAppender");
> RollingPolicyBase rollingPolicy =
> (RollingPolicyBase)app.getRollingPolicy();
> rollingPolicy.stop();
>
> rollingPolicy.setFileNamePattern("bidderserver-%d{yyyy-MM-dd-HH:mm:ss}-"+hostname+"-ip.%i.log");
> rollingPolicy.start();
>
>
> But that doesn't seem to work :(
>
> I'm attaching my current logback.xml file.
>
> Any and all help would be much appreciated!
>
>
> Also, I tried visiting #qos.ch in freenode, but there's noone there except
> me!
>
> Thanks again,
> Daniel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://qos.ch/pipermail/logback-user/attachments/20090909/4ae3dbc6/attachment.htm>
More information about the Logback-user
mailing list