tags:

views:

754

answers:

2

Can someone tell me how I can use the rolling log feature of log4c API library.

There is only documentation on functions it provides and there are so many

if anyone has used rolling log with log4c , would be great to see how to configure it and use it.

thanks.

A: 

Since this is a 3 month old question, just wondering if the Wikipedia page was tried -- http://en.wikipedia.org/wiki/Log4c#Development_with_Log4C.

nik
+1  A: 

Add something like this to your .log4crc file:

<rollingpolicy name="myrollingpolicy" 
               type="sizewin"
               maxsize="1024"
               maxnum="10"
               />
<appender name="myrollingfileappender"
          type="rollingfile"
          logdir="."
          prefix="myprefix"
          layout="dated"
          rollingpolicy="myrollingpolicy"
          />

Then you do logging like normal with:

#include <stdio.h>
#include "log4c.h"

int main(int argc, char** argv) {
  int rc = 0;
  log4c_category_t* mycat = NULL;

  if (log4c_init()) {
    printf("log4c_init() failed");
    rc = 1;  
  } 
  else{
      mycat = log4c_category_get("log4c.examples.helloworld");

      log4c_category_log(mycat, LOG4C_PRIORITY_ERROR, "Hello World!");

    /* Explicitly call the log4c cleanup routine */
    if ( log4c_fini()){
      printf("log4c_fini() failed");
    }
  }
  return 0;
}

This is all available in the examples from the log4c source code

mcl
Helpful, thanks, and good luck for your "neuromancer" badge ;-)
philippe