Primeiro, definimos um caminho que pode encontrar dinamicamente o projeto em tempo de execução. O motivo disso é configurar o caminho do arquivo de saída LOG4J como desejar.
<Cexexp-Param> <amam-name> webApApRootkey </amam-name> <amam-value> amt.root </amam-value> </context-param>
Então você precisa definir o caminho do arquivo de configuração de log do projeto e o ouvinte log4j
<context-param> <amam-name> log4jconfigLocation </param-name> <amam-value> classPath: conf/log4j.xml </param-value> </context-param> <!-define log4j lister-> ouvier> ouvier> org.springframwork.webilil.util.util.util.util.util.util.util.util.util.utiler <vister> <vister-class> org.springframwork.webilil.util.util.util.util.util.util.util-> <vister> <vister-class> org.springFramework.webiluil.util.util.util.util->
Dessa forma, a configuração do arquivo web.xml é concluída e, em seguida, o arquivo de configuração específico do arquivo de configuração de log:
<? xml versão = "1.0" coding = "utf-8"?> <! Doctype log4j: Sistema de configuração "log4j.dtd"> <log4j: configuration> <!-saída de informações para o console <ayout> <layout> <ppender name = "consolappender"> <!-definir a saída da saída-> name = "conversionPattern" value = "[%d {yyyy-mm-dd hh: mm: ss: sss}] [%-5p] [método:%l]%n%m%n%n" /> < /layout> <!-defina o nível de saída dos arquivos-> <"filtro> <!-definido o nível mínimo- Nível máximo de saída de log-> <param name = "nívelMax" value = "error" /> <!-Defina o xxx da saída do log, o padrão é false-> <param name = "aceitonMatch" value = "true" /> < /filter> < /appender> <!-Exportar informações de log para um arquivo e configurar quanto tempo leva para gerar um caminho de log "> File de saída de informações de log-> <param name = "file" value = "$ {amt.root} /logs/spdbdata.log" /> <!-Defina o log para reverter uma vez por hora, que gerará um novo arquivo de log-> <param name = "datepattern" = "'_' yyyy-mm-dd-hh'.'.l.l.l.lg (datepattern" = "'_' yyyy-mm-dd-hh'.'.l.l.l.l.lg. <!-Defina o formato da saída do log-> <param name = "conversionPattern" value = "[%d {yyyy-mm-dd hh: mm: ss: ss}] [%-5p] [método:%l]%n%m%n" n "/> </layout> <lemation> <!-note: 1: O mecanismo não é seguido. 2: O nome no registrador é muito importante. Representa a forma do pacote de logger e tem uma certa relação de inclusão. Experimentos mostram que 2-1: quando o nome do madeireiro definido tem o mesmo nome, apenas o último pode imprimir corretamente o log 2-2: quando o logger correspondente contém o relacionamento de inclusão, por exemplo: name = test.log4j.test8 e nome = TEST.LOG4J.Test8.UseLog4J, então a situação de 2 a 1 Configuração. A relação de inclusão no valor do nome refere -se ao nome do Logger! Prestar atenção! 3: Interseção entre o nível definido no logger e o nível definido no filtro no Appender 4: se o nível de nível> Definido no Appender for definido no Appender, as informações do log não podem ser impressas-> <!-especificar a configuração do logger, a adição indica se o herança padrão ". <nível value = "error"/> <appender-ref ref = "rollingfile"/> </logger> <!-Configurações do logger da raiz-> <somic> <nível value = "info"/> <appender-ref ref = "consoleppender"/> <ppender-ref = "rollingfile"/> </root> </log4 "A estrutura do projeto é a seguinte:
Depois que tudo estiver pronto, depois que o projeto for iniciado, você poderá encontrar seus arquivos de log diários ou horários no local de saída especificado. O arquivo de configuração de log também pode expandir o tamanho de cada arquivo e reversão quando ocorre um erro de arquivo. Não vou entrar em detalhes aqui.
O artigo acima é baseado no log do projeto da web para especificar o método de configuração de localização do arquivo de saída. Espero que possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.