[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