Действительно ли возможно настроить различные уровни журнала для единственного Регистратора на основе appender?
Я понимаю, что это подобно этому вопросу, и это - насколько я уже вовлек себя, но проблема с этим состоит в том, что порог относится ко всем регистраторам, которые регистрируют к этому appender, тогда как я только хочу, чтобы порог относился к единственному регистратору.
т.е. До сих пор у меня есть что-то вроде этого:
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=WARN
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
log4j.logger.mylogger=DEBUG,logfile
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.DatePattern=${roll.pattern.daily}
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{${datestamp}} [%t] %-5p %C{2} - %m%n
log4j.appender.logfile.File=mylogfile.log
Я хочу, чтобы mylogger Сообщения отладки были, отправляют к файлу журнала appender, но я также хочу, чтобы mylogger ИНФОРМАЦИОННЫЕ сообщения были отправлены в stdout appender (но для всех других регистраторов только ПРЕДУПРЕЖДАЮТ ings). Используя Порог для ограничения stdout для ПРЕДУПРЕЖДЕНИЯ ограничивает вывод mylogger.
Существует статический метод PresentationSource.StartVisual
, который:
Возвращает источник, в котором представлен предоставленный Visual.
Я знаю, что это не решает лежащую в основе проблему, но вы можете проверить, что Visual подключен к PresentationSource, прежде чем звонить По экрану
. Это предотвратило бы исключение, но вам нужно было бы еще немного выяснить, почему это не было связано в первую очередь.
Либо. Это зависит.
В зависимости от ваших знаний (и знаний вашей команды) (т.е. XPath не будет эффективным, никто не знает XPath, но все знают LINQ в XML). Также некоторые операции могут быть проще в одной или другой.
-121--4904034-Ага, я исправил это, изменив
log4j.appender.stdout.Threshold=WARN
на
log4j.appender.stdout.Threshold=INFO
.