Мне нужно что бы при достижении определенного размера, файл лога создавался новый и их могло быть к примеру 5 штук всего. И после того как будет достигнуто максимальное количество что бы процесс начался заново.
У меня есть конфигурация:
// creates pattern layout
PatternLayout layout = new PatternLayout();
String conversionPattern = "%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n";
layout.setConversionPattern(conversionPattern);
// creates console appender
ConsoleAppender consoleAppender = new ConsoleAppender();
consoleAppender.setLayout(layout);
consoleAppender.activateOptions();
// creates file appender
FileAppender fileAppender = new FileAppender();
fileAppender.setFile("../main.log");
fileAppender.setBufferSize(fileAppender.getBufferSize()*2);
fileAppender.setLayout(layout);
fileAppender.activateOptions();
// configures the root logger
Logger rootLogger = Logger.getRootLogger();
rootLogger.setLevel(Level.ALL);
rootLogger.addAppender(consoleAppender);
rootLogger.addAppender(fileAppender);
в одной из статей на habrahabr
я нашел такую конфигурацию
java.util.logging.FileHandler.pattern = application_log.txt
java.util.logging.FileHandler.limit = 1000000
java.util.logging.FileHandler.count = 5
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
Вопрос: как повторить такую же конфигурацию но в коде? и как вообще лучше организовать работу с файлами логера?
Вам нужен RollingFileAppender. "Этот аппендер позволяет ротировать файл по достижении определенного размера. "Ротировать" означает, что текущему файлу приписывается расширение ".0" и открывается следующий. По достижении им максимального размера – первому вместо расширения ".0" выставляется ".1", текущему – ".0", открывается следующий. И так далее. Максимальный размер файла и максимальный индекс, устанавливаемый сохраняемым предыдущим файлам, задаются свойствами maximumFileSize и maxBackupIndex соответственно. Если индекс должен быть превышен – файл не переименовывается, а удаляется. Таким образом мы всегда имеем не больше определенного количества файлов, каждый из которых не больше определенного объема. Гораздо более предсказуемая ситуация, чем с обычным FileAppender-ом. Собственно, этот тип аппендеров, наверное, самый используемый". (с) www.skipy.ru - Ведение лога приложения
# Уровень логирования log4j.rootLogger=INFO, file # Апендер для работы с файлами log4j.appender.file=org.apache.log4j.RollingFileAppender # Путь где будет создаваться лог файл log4j.appender.file.File=C:\\TMP\\log_file.log # Указываем максимальный размер файла с логами log4j.appender.file.MaxFileSize=1MB # Указываем максимальное количество файлов log4j.appender.file.maxBackupIndex=5
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как получить доступ к классу из другого пакета? То есть: в пакете packageА есть класс Class1 и класс Class2 extends Class1 В пакете packageB у меня получается заимпортировать...