Cet article présente l'exemple de code de Springboot intégrant SLF4J + LOG4J2. Il est partagé avec vous. Les détails sont les suivants:
Dépendances Maven
<! - Augmenter la dépendance log4j2 ↓ -> <dependency> <proupId> org.springframework.boot </proncId> <Artifactid> Spring-Boot-starter-Log4j2 </ Artifactid> </Dendency> <Dedidency> <proupId> org.springframework.boot </proupId> <ArtifActid> Spring-Boot-Starter-Actuator </prounid> <ArtifActid> Spring-Boot-Starter-Actuator </prounid> <ArtifActid> Spring-Boot-Starter-Actuator </prounid> <ArtifActid> Spring-Boot-Starter-Actuator </prounid> <ArtifActid> <cchusions> <! - Supprimez les anciennes dépendances du journal -> <cuslusion> <groupId> org.springframework.boot </proncId> <Artifactid> printemps-boot-starter-ligging </letefactid> </clusion> </cclusions> </pedency> <pedidency> <proupId> Org.springFrameworkwork.boot </ groupid> <ArtefactId> Spring-Boot-starter-web </ artifactid> <exclusions> <! - Supprimez les anciens dépendances de journal -> <exclusion> <proupId> org.springframework.boot </proncId> <eartfactid> Spring-boot-starter-liging </ artifactid> </cclusions> </sendency>
Si d'autres dépendances ont des conflits de journal de journal, vous pouvez ajouter la configuration suivante:
<exclusions> <cusclusion> <proupId> log4j </prôdId> <Artifactid> * </ artifactId> </clussion> <exclusion> <proupId> org.slf4j </proncId> <Artifactid> * </ artifactid> </cuscusing> <cusclusion> <proupId> Org.SLF4J </clush> <ArtefactId> * </ artifactive> </clusion> <cchusion> <proupId> org.apache.logging.log4j </rom grouped> <ErtifactId> * </ artifactive> </clusion> </clusions>
log4j2.xml
Mettez-le dans le répertoire des ressources
<? xml version = "1.0" Encoding = "UTF-8"?> <! - Les 6 niveaux de priorité sont: OFF, FATAL, ERREUR, WARN, INFO, DEBUG, TRACE, TOUT. Si la priorité est définie pour avertir, les quatre niveaux de journaux, désactivés, mortels, erreurs et avertissent, peuvent sortir normalement. Cela signifie que les journaux de log4j2 ne sont pas enregistrés. -> <! - Statut: Utilisé pour spécifier le niveau de journal d'impression de log4j lui-même, moniteur Interval: spécifiez l'intervalle de surveillance pour log4j reconfiguré automatiquement -> <Configuration Status = "info" monitorterval = "30"> <! - Définissez les propriétés vous-même, puis y accédez via $ {} -> <! name = "log_home"> $ {web: rootdir} / logs </ propriété> </ Properties> -> <annexes> <! - Appeder 1. niveau = "all" onmatch = "accepter" onMismatch = "deny" /> <patternlayout pattern = "% d {hh: mm: ss.sss}% -5level% class {36}% l% m -% msg% xex% n" /> </ console> <! - APPRENDRE 2. et seuls les 10 derniers journaux sont enregistrés -> <file name = "allLog" filename = "$ {log_home} /all.log"> <thresholdfilter niveau = "all" onMatch = "accepter" onMismatch = "deny" /> <pattellayout charset = "utf-8" path % -5Level% class {36}% l% m -% msg% xex% n "/> </ file> <! - Appeder 3. Exporter vers le fichier enregistré par défilement, la condition qui déclenche le fichier de journal de sauvegarde est que le fichier journal est supérieur à 3KB, et seuls les 10 derniers journaux sont enregistrés -> <rollingfile name =" Debuglog " filename = "$ {log_home} /debug.log" filepattern = "$ {log.path} /debug-%I.log"> <thresholdfilter niveau = "debug" onMatch = "Accept" OnMismatch = "Deny" /> <Pattemlayout Chasset = "utf-8" Pattern = " HH: MM: SS}] [% F:% L] -% m% n "/> <sizebasedtriggergPolicy size =" 3KB "/> <! - Le paramètre Max dans DefaulTrolloverstrategy peut limiter les archives max après que la taille dépasse la taille de taille max =" 10 " <! - Appeder 4. Exporter vers le fichier enregistré par défilement, la condition qui déclenche le fichier de journal de sauvegarde est le premier événement de journal par minute. Les journaux d'erreur sont générés par les minutes -> <rollingfile name = "errorLog" filename = "$ {log_home} /error.log" filepattern = "$ {log.path} / error-% d {yyyy-mm-dd_hh-mm} .log"> <thresholter level = "error" onmatch = <Patternlayout Charset = "UTF-8" Pattern = "[% - 5Level] [% D {Yyyyy-mm-dd HH: MM: SS}] [% C:% F:% L] -% M% N" /> <TimebasedtrigringPolicy /> </ RollingFile> <Rollingfile name = "Rollingfile" fileName = "$ {log_home} /rar.log" filepattern = "$ {log_home} / $$ {date: yyyy-mm} / $ {file_name} -% d {mm-dd-yyyy} -% i.log.gz"> <motellayout charset = "utf-8" HH: MM: SS Z}% -5Level% classe {36}% L% M -% msg% xex% n "/> <! - La valeur maximale du fichier journal est compressée le lendemain -> <grasities> <TimebasedtrigringPolicy /> <sizebasedtriggergPolicy size =" 10 mb "/> </gragies> </rollingfile> <Geggers> <root niveau = "Debug"> <appender-ref ref = "console" /> <! - <appender-ref Ref = "allLog" /> -> <! - <appender-ref ref = "Debuglog" /> -> <! - <appender-ref Ref = "errorLog" /> - <! - <appender-ref Ref = "rollingfile" /> </ root </GOGERS> </ Configuration> LogTest.java
import org.slf4j.logger; import org.slf4j.loggerfactory; public class logTest {public final logger logger = loggerfactory.getLogger (getClass ()); public static void main (String [] args) {log.trace ("trace"); log.debug ("débogage"); Log.Warn ("Warn"); log.info ("info"); log.Error ("erreur"); }}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.