2

I have problem using log4j with file logging. I can't get it to work even after searching the web for a quite long time now.

my log4j.properties file:

  log4j.rootLogger = DEBUG, FILE
  log4j.appender.FILE=org.apache.log4j.FileAppender
  log4j.appender.FILE.File=log.out
  log4j.appender.FILE.ImmediateFlush=true
  log4j.appender.FILE.Append=true
  log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
  log4j.appender.FILE.layout.conversionPattern=%m%n

my java producer class:

@Singleton
public class Loggers {

   @Produces
   public Logger getLogger(InjectionPoint ip) throws IOException {
    Member member = ip.getMember();
    Class<?> declaredInClass=member.getDeclaringClass();
    Logger logger=Logger.getLogger(declaredInClass.getSimpleName());
    Properties props = new Properties();
    props.load(Loggers.class.getClassLoader().getResourceAsStream(("log4j.properties")));
    PropertyConfigurator.configure(props);
    logger.info("should be in the file but it is only in console");
    return logger;
   }
}

What are the possibilities that it just creates empty file and doesn't log there? However, it logs to the console.

Matej Briškár
  • 599
  • 4
  • 17

1 Answers1

0

Try setting the level for your logger:

logger.setLevel(Level.ALL);