Hi,

 

I wish to print out variable values within my code at the various
different logging levels. However, debug level statements are printed
when there are also info level statements within the same function. I'd
appreciate any advice on how to prevent this happening.

 

With the level set to INFO in the config file:
log4j.logger.ImageVolume=INFO I would not expect to see the debug level
output: "generateImage: xMax:  ok".

 

Thank you,

 

Anita

 

Output:

 

INFO  ImageVolume - creating a new image volume 

INFO  ImageVolume - generateImage: no noise added 

INFO  ImageVolume - generateImage: mapping to image

INFO  ImageVolume - generateImage: xMax:  okgenerateImage: complete

 

 

In ImageVolume.h

 

class ImageVolume

{

            static log4cxx::LoggerPtr logger;

            shared_ptr<logstream> outstream;

 

            ...

};

 

In ImageVolume.cc

 

LoggerPtr ImageVolume::logger(Logger::getLogger("ImageVolume"));

 

ImageVolume::ImageVolume(shared_ptr<TissueToVoxelMap> tissueToVoxelMap)

{

            shared_ptr<logstream> log(new logstream(logger,
Level::OFF));

            outstream= log;

            *outstream << Level::INFO << "creating a new image volume "
<< LOG4CXX_ENDMSG;

 

            ...

}

 

void ImageVolume::generateImage(shared_ptr<SignalProduction>
signalProduction,

 
shared_ptr<TissueToVoxelMap> tissueToVoxelMap, shared_ptr<Noise> noise)

{

            *(outstream.get()) << Level::INFO << "generateImage: no
noise added " << LOG4CXX_ENDMSG;

 

            shared_ptr< map<TISSUETYPE, SIGNAL_INTENSITY> >
tissueToSignalMap= signalProduction->generateSignalForAllTissues();

 

            unsigned xMax= image->getDimX();

            unsigned yMax= image->getDimY();

            unsigned zMax= image->getDimZ();

 

            *(outstream.get()) << Level::INFO << "generateImage: mapping
to image" << LOG4CXX_ENDMSG;

            *outstream << Level::DEBUG << "generateImage: xMax: " <<
xMax << " ok" << LOG4CXX_ENDMSG;

 

            ...

            

            *(outstream.get()) << Level::INFO << "generateImage:
complete" << LOG4CXX_ENDMSG;

}

Reply via email to