в

ел бы записать в два разных файла, используя мой регистратор, который объявлен так:

public static final Logger logger = Logger.getLogger(Adapt.class);
PropertyConfigurator.configure("log4j.properties");

файл log4j содержит:

log4j.rootLogger=DEBUG, FA

#File Appender
log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.File=temp.ppr
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.append=false
log4j.appender.FA.layout.ConversionPattern= %m%n

Можно ли вообще использовать регистратор для простого написания разного текста в два разных файла?

Если нет, есть ли способ сделать это с двумя регистраторами? (Я попробовал это и получил проблемы из-за функции configure, которая является статической.)

Благодарю.

Ответы на вопрос(3)

измените с

log4j.OTHER_LOGGER=DEBUG, OtherAppender

в

log4j.**logger**.OTHER_LOGGER=DEBUG, OtherAppender

Logger otherLogger = Logger.getLogger("OTHER_LOGGER");

определите конфигурацию для этого (обратите внимание на log4j.лесоруб.OTHER_LOGGER синтаксис ср. log4j.rootLogger, как указаноuser623395 а такжевенкатеш додла):

log4j.logger.OTHER_LOGGER=DEBUG, OtherAppender

log4j.additivity.OTHER_LOGGER = false

#File Appender
log4j.appender.OtherAppender=org.apache.log4j.FileAppender
log4j.appender.OtherAppender.File=temp2.ppr
log4j.appender.OtherAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.OtherAppender.append=false
log4j.appender.OtherAppender.layout.ConversionPattern= %m%n

и зарегистрируйте свой другой текст как обычно:

logger.debug("My normal log");
otherLogger.info("My special text");
 RanZilber16 янв. 2011 г., 21:36
Конфигурация - моя проблема, как мне подключить ее к этому конкретному регистратору? PropertyConfigurator.configure получает только путь к файлу свойств, а не объект регистратора
 RanZilber16 янв. 2011 г., 21:45
хорошо, что не работает, я попытался сделать logger.info ("1"); otherLogger.info ( "2"); и что я получил, что файл temp2.ppr не был создан, и у temp.ppr был текст 12 ... что делать?
 RanZilber16 янв. 2011 г., 21:51
я просто добавил твои строки в файл, а также объявление другого журнала, как ты и написал. Мой код такой же, как я написал на вопрос.
 Axel Fontaine16 янв. 2011 г., 21:49
Правильно ли вы настроили appenders? Оба регистратора указывают на другого аппендера?
 Axel Fontaine16 янв. 2011 г., 21:37
Поместите все это в один файл. И строки log4j.rootLogger и log4j.OTHER_LOGGER.

это сработало для меня. Мой файл журнала:

# log4j.properties
log4j.rootLogger=DEBUG,hfis,stdout
#For second log
log4j.logger.OTHER_LOGGER=DEBUG, OtherAppender
log4j.additivity.OTHER_LOGGER = false 

#File Appender 
log4j.appender.OtherAppender=org.apache.log4j.FileAppender 
log4j.appender.OtherAppender.File=C:\\Legacy.log
log4j.appender.OtherAppender.ImmediateFlush=true 
log4j.appender.OtherAppender.layout=org.apache.log4j.PatternLayout 
log4j.appender.OtherAppender.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss.SSS} [%t] %-5p %c - %m%n 

log4j.rootCategory=ERROR
log4j.rootLogger.additivity=false

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.hfis=org.apache.log4j.RollingFileAppender
log4j.appender.hfis.Threshold=DEBUG
log4j.appender.hfis.file=C:\\hfis.log 
log4j.appender.hfis.ImmediateFlush=true
log4j.appender.hfis.MaxFileSize=5MB
log4j.appender.hfis.layout=org.apache.log4j.PatternLayout
log4j.appender.hfis.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss.SSS} [%t] %-5p %c - %m%n
# R is the RollingFileAppender that outputs to a rolling log
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=DEBUG

# Define a pattern layout for the file.
log4j.appender.mystdout.layout=org.apache.log4j.PatternLayout
log4j.appender.mystdout.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss.SSS} %-5p: %m%n<br>

и мои переменные журнала

final static Logger log = Logger.getLogger("hfis");
final static Logger log2 = Logger.getLogger("OTHER_LOGGER");

Ваш ответ на вопрос