Já procurei no google, e estudei sobre o Log4j, porém não encontrei a resposta para o que eu quero.
Eu já estou fazendo o log ser gravado em um arquivo .log mas gostaria de saber como posso configurar um controle para que tenha somente 10 linhas nesse arquivo, tem jeito de fazer isso?
Desde já agradeço.
Segue o código:
publicstaticvoidmain(String[]args)throwsIOException{logger.info("Efetuando login de usuário");BasicConfigurator.configure();/* Cria um novo FileAppender baseado no layout padrão, * pré-definido na constante TTCC_CONVERSION_PATTERN * da classe PatternLayout. */AppenderfileAppender=newFileAppender(newPatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN),"myLogFile.log");logger.addAppender(fileAppender);try{thrownewException("Loga esse no arquivo, Log4J!");}catch(Exceptione){logger.error("Oops, deu erro: "+e.getMessage());}}
Obrigado!Sua resposta foi precisa e ajudou bastante!
rafadelnero
Modifiquei o código como a sugestão, usei a classe RollingFileAppender limitando o nome do arquivo na própria classe e no arquivo properties mas mesmo assim o arquivo gera um log maior do que o estipulado:
Classe:
publicstaticvoidmain(String[]args)throwsIOException{logger.info("Efetuando login de usuário");BasicConfigurator.configure();/* Cria um novo FileAppender baseado no layout padrão, * pré-definido na constante TTCC_CONVERSION_PATTERN * da classe PatternLayout. */RollingFileAppenderrolingFileAppender=newRollingFileAppender(newPatternLayout(PatternLayout.DEFAULT_CONVERSION_PATTERN),"exemplo.log");rolingFileAppender.setMaxFileSize("1KB");logger.addAppender(rolingFileAppender);while(true){try{thrownewException("Teste com log4j, mensagem de log!");}catch(Exceptione){logger.error("Oops, deu erro: "+e.getMessage());}}}