Во -первых, мы определяем путь, который может динамически найти проект во время выполнения. Причина этого заключается в настройке пути выходного файла log4j, как вы хотите.
<context-param> <may-name> webappootkey </param-name> <param-value> amt.root </param-value> </context-param>
Затем вам необходимо определить путь файла конфигурации журнала проекта и Log4j Listener
<xtensure-param> <param-name> log4jconfiglocation </param-name> <value> classpath: conf/log4j.xml </param-value> </context-param> <!-define log4j прослушивание-> <Learser> <slieder-class> org.spramework.web.util.log4jconfer>
Таким образом, конфигурация файла web.xml завершена, а затем конкретный файл конфигурации файла конфигурации журнала:
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype log4j: Система конфигурации "log4j.dtd"> <log4j: Конфигурация> <!- value = "[%d {yyyy-mm-dd hh: mm: ss: sss}] [%-5p] [Метод:%l]%n%m%n%n" /> < /layout> <!-Установите выходной уровень фильтров-> <Filter> <!-Установите минимальный уровень вывода журнала-> <param name = "value" value = " /" /"! <param name = "levelmax" value = "error" /> <!-Установите xxx of hout of hout upture, по умолчанию false-> <param name = "acceptOnmatch" value = "true" /> < /filter> < /appender> <!-Информация журнала экспорта в файл и настройка, как долго для генерации новой информации <param name = "file" value = "$ {amt.root} /logs/spdbdata.log" /> <!-Установите журнал на откат один раз в час, который будет генерировать новый файл журнала-> <param name = "datepattern" value = "'_' yyy-mm-dd-hh'.log ' /> <! Вывод журнала-> <param name = "conversionpattern" value = "[%d {yyyy-mm-dd hh: mm: ss: ss}] [%-5p] [Метод:%l]%n%m%n%n"/> </layout> </appender> <!-Примечание: 1: когда заполнение = «Ложного», конфигурация в корневой сбое, и не является обязательным. 2: Имя в журнале очень важно. Он представляет форму пакета регистрации и имеет определенные отношения включения. Эксперименты показывают, что 2-1: Когда имя определенного регистратора имеет одинаковое имя, только последний может правильно распечатать журнал 2-2: Когда соответствующий регистратор содержит соотношение включения, например: name = test.log4j.test8 и name = test.log4j.test8.uselog4j, тогда ситуация 2-1 является той же 2-3: «Имя», что все это означает, что все это означает, что все это означает, что все это означает, что все это означает, что все это означает, что все это означает, что все это означает, что все это означает, что все это означает, что все, что и то же, что-то и самое должно конфигурация. Отношение включения в значение имени относится к имени журнала! Обращать внимание! 3: Пересечение между уровнем, определенным в логическом директоре, и уровнем, определенным в фильтре в Приложении 4: Если Levelmin> LevelMax, определенная в приложении, определен в Приложении, информация о журнале не может быть распечатана-> <!-Укажите настройку логариста, добавление указывает, является ли механизм по умолчанию. Прибавка = "false"> <value = "error"/> <appender-ref ref = "rollingfile"/> </logger> <!-Настройки корневого регистратора-> <root> <value = "info"/> <appender-ref ref = "consoleAppender"/> <appender-ref ref = "rollingfile"/> </root> </root> </ruy4JJ: confighate> configne> </root> </root> </root> </root> </root> </root> </root> </root> </root> </rud4J: configion-ref ref = "rollingfile"/> </root>Структура проекта заключается в следующем:
После того, как все будет готово, после начала проекта вы можете найти свои ежедневные или почасовые файлы журнала в указанном месте вывода. Файл конфигурации журнала также может расширить размер каждого файла, а откат имеет значение, когда возникает ошибка файла. Я не буду вдаваться в подробности здесь.
Приведенная выше статья основана на журнале веб -проекта, чтобы указать метод конфигурации местоположения выходного файла. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.