Este artigo apresenta o código de exemplo do SpringBoot integrando Slf4J+Log4J2. É compartilhado com você. Os detalhes são os seguintes:
Dependências do MAVEN
<!-Aumentar log4j2 dependência ↓-> <Ependency> <PuerpId> org.springframework.boot </frugiD> <stifactId> primavera-boot-starter-log4j2 </artifactId> </dependency> <pendency> <purgid> org.springframework.boot </grupeid> artift> artift> artift> artift> artift> artef <surtIF> artift> art. <clusions> <!-Remova as dependências antigas do log-> <clusão> <puperid> org.springframework.boot </frugiD> <stifactId> spring-boot-starter-logging </starfactid> </cligiRion> </clusions> </dependency> <Pendency> <purfactId> oug.springfritrking.Blame.Blame.Blame.Blame.Blame.Blame.Brot.Brot.Brot.Brot.Brot.Blame.Brot.Brot.Brot.Brot.Brot.Brot.Brout.Blor.BringFame.Blame.Brot.Blame.Brot.Blame.BringFame.Blame.Brot.Blor.BringFame.Blame.Brot.Brout.BringFritrk <TrAtifactId> Spring-Boot-Starter-Web </stutifactId> <clusions> <!-Remova as dependências antigas de log-> <cclusion> <purbumid> org.springframework.boot </groupid> </exclusões> Spring-boot-Starter-Logging </Artifactid> </exclusões>
Se outras dependências tiverem conflitos de log de log, você poderá adicionar a seguinte configuração:
<exclusions> <exclusion> <groupId>log4j</groupId> <artifactId>*</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>*</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>*</artifactId> </exclusion> <cclusion> <voundId> org.apache.logging.log4j </groupId> <TRAFACTID>*</starifactId> </clusion> </clusions>
log4j2.xml
Coloque no diretório de recursos
<? xml versão = "1.0" coding = "utf-8"?> <!-Os 6 níveis de prioridade são: off, fatal, erro, aviso, informação, depuração, rastreamento, todos. Se a prioridade estiver definida como alerta, os quatro níveis de toras, desligados, fatais, erros e avisar, poderão gerar normalmente para desligar. Isso significa que os logs do log4j2 não estão gravados. -> <!-Status: Usado para especificar o nível de log de impressão do próprio log4j, MonitorInterval: especifique o tempo de intervalo de monitoramento para o log4j reconfigurado automaticamente-> <Status da configuração = "info" MonitorInterval = "30"> <!-Defina as propriedades e depois acessá-lo através de $ {}-> <!-<! name = "log_home"> $ {web: rootdir}/logs </propriedade> </properties>-> <pêndores> <!-Appender 1. Saída para o console do console, especifique o formato de saída e o nível de filtro como informação-> <console name = "console" alvo "System_out"> <!-ThrSholdFilter nível = "all" onmatch = "aceite" onMismatch = "neny"/> <PatternLayout Pattern = " %d {hh: mm: ss.ss} %-5level %classe {36} %l %m-msg msg sdoll FILD FILE SAVED, que não é o arquivo de salvamento, o arquivo de salvamento do scoll, que o logring do scoll, que o arquivo de salvamento s. 3KB, e apenas os 10 logs mais recentes são salvos-> <Nome do arquivo = "alllog" FILENAME = "$ {LOG_HOME} /all.log"> <ThresholdFilter Level = "All" onMatch = "Acept" ATMIMPTH = "Deny"/> <PatternLayout Charset = "Utf-8" Pattern = "D). Z} %-5LEvel %classe {36} %l %m- %msg %xex %n "/> </file> <!-Appender 3. Exportar para o arquivo salvo de rolagem, a condição que aciona o arquivo de log de salvar é que o arquivo de log é maior que 3KB e apenas os 10 logs mais recentes são salvos-> <rollingfile =" filename = "$ {log_home} /debug.log" filepattern = "$ {log.path} /debug-%I.log"> <limholdfilter nível = "debug" onmatch = "aceitam" onMismatch = "desny"/> <padrão de charset = "utf-8" padronizado "" HH: mm: ss}] [%f:%l]-%m%n "/> <sizeBasedTriggeringPolicy size =" 3kb "/> <!-o parâmetro max em defaultrolloverstrategy pode limitar os arquivos max após o tamanho exceder o tamanho do tamanho da base de 10 anos- <!-Appender 4. Exportar para o arquivo salvo de rolagem, a condição que desencadeia o arquivo de log de salvamento é o primeiro evento de log por minuto. Os logs de erro são gerados por minutos-> <rollingfile name = "errorlog" filename = "$ {log_home} /error.log" filepattern = "$ {log.path}/error-%d {yyyyy-mm-dd_hh-mm} .log"> <hrSholdfilter " <PatternLayout charset = "utf-8" padrony = "[%-5LEvel] [%d {yyyyy-mm-dd hh: mm: ss}] [%c:%f:%l]-%m%n"/>> <timebasedtriggeringpolicy/> </rollingfile> <rollingfileile = "rollingfile =" rollingfiling "rolling" rolling) "rollingfile" " filename = "$ {log_home} /rar.log" filepattern = "$ {log_home}/$$ {date: yyyy-mm}/$ {file_name}-%d {mm-dd-yyyy}-%i.log.gz"> <stardlayout charset = "utnynfsnfs-dd-dd-yyyy}-%i.gz" "> <statstertLayout) HH: mm: ss z} %-5level %classe {36} %l %m- %msg %xex %n "/> <!-O valor máximo do arquivo de log é compactado no dia seguinte-> <policies> <timebasedtriggeringpolicy/> <sizeBerggeringPolicy size =" 10 mb "/polics"/> <<weatherTRiggeringPolicy/> <sizeBerggeringPolicy size = "10 mb"/polics "/> Carregamento padrão-> <loggers> <root nive = "debug"> <appender-ref ref = "console"/> <!-<appênder-ref ref = "alllog"/>-> <!-<appender-ref ref = "debugLog"/>-> <-<ppender-ref ref = "errorLog"->->->->->->->->->-<! </root> </ggers> </figuration> LogTest.java
importar org.slf4j.logger; importar org.slf4j.loggerFactory; public class Logtest {public final Logger Logger = LoggerFactory.getLogger (getClass ()); public static void main (string [] args) {log.trace ("Trace"); log.debug ("Debug"); log.warn ("warn"); log.info ("info"); log.error ("erro"); }}O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.