1. Comprendre
SLF4J (façade de journalisation simple pour Java) représente une façade de journal simple fournie pour Java, et un point plus basique est une interface. En important les informations du programme dans le système de journal et en les enregistrant, le découplage entre le programme et le système de journal peut être réalisé.
L'interface de façade de journal elle-même n'a généralement pas la capacité de sortie du journal réelle. Il doit encore appeler l'API spécifique du cadre du journal en bas, c'est-à-dire qu'il doit en fait être utilisé en combinaison avec le cadre journal spécifique. Étant donné qu'il existe de nombreux cadres de journal spécifiques et sont principalement incompatibles les uns avec les autres, si l'interface de façade de journal est combinée avec n'importe quel cadre journal, il peut nécessiter un pont correspondant, tout comme la combinaison entre JDBC et diverses bases de données différentes nécessite un pilote JDBC correspondant.
1. FACADE LOG (FALADE)
1.SLF4J (recommandé)
2.M.
2. Journaux spécifiques de la connexion SLF4J
Lors de la connexion de SLF4J et d'autres cadres de journal, un桥接器est nécessaire au milieu. Certains cadres de journalisation eux-mêmes utilisent eux-mêmes l'API SLF4J, ils n'ont donc pas besoin d'utiliser des ponts.
Logback est une version améliorée de LOG4J, et l'API SLF4J est directement utilisée en interne, il n'y a donc pas de pont. (Logback et SLF4J proviendraient du même auteur)
1.Slf4j-API.jar> SLF4J-LOG4J12.Jar Bridge> Log4j.jar
2.slf4j-api.jar> logback-core.jar, logback-classic.jar
3.Slf4j-API.jar> Slf4j-Simple.jar
4.Slf4j-API.jar> log4j-slf4j-impl-2.8.2.jar> org.apache.logging.log4j: log4j-api: 2.8.2, org.apache.logging.log4j: log4j-core: 2.8.2, org.apache.logging.log4j: log4j-web: 2.8.2 (recommande à la perception log4j2)
2. Utilisez SLF4J + LOG4J2
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. MonitorInterval: Spécifiez l'intervalle de surveillance pour le log4j reconfiguré automatiquement -> <configuration status = "info" monitorinterval = "30"> <! - Définissez les propriétés vous-même, puis accédez-les via $ {} -> <preperties> <propriété name = "log_home"> $ {web: rootDir} / logs </prewet> </preperties> La console de la console, spécifiez le format de sortie et le niveau de filtre comme info -> <console name = "console" cible = "System_out"> <! - ThresholdFilter spécifie le niveau le plus bas de la sortie des messages de journal -> <ThresholdFilter Level = "All" OnMatch = "Accept" OnMismatch = "Deny" /> <Pattemlayout Pattern = "% d {hh: mm: s. % -5level% class {36}% l% m -% msg% xex% n "/> </console> <! - Appeder 2. <ThresholdFilter Level = "all" onMatch = "Accept" OnMismatch = "Deny" /> <PatternLayout Charset = "UTF-8" Pattern = "% D {Yyyyy.mm.dd 'à' HH: MM: SS Z}% -5Level% Classe {36}% L% M -% MSG TO XEX% N" /> </ Fichier> Faites défiler le fichier enregistré, 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"> onMatch = "accepter" onMismatch = "deny" /> <pathlayout charset = "utf-8" pattern = "[% - 5Level] [% d {yyyy-mm-dd hh: mm: ss}] [% f:% l] -% m% n" /> <sizebasedTriggergpolicy size = "3kb" /> <! Peut limiter les archives max après que la taille dépasse la taille de la taille de tailleurtriggergingPolicy -> <defaulTrolloverstrategy max = "10" /> </rollingfile> <! - 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 /> </gochicies> </rollingfile> </prenders> <! niveau = "info"> <appender-ref Ref = "console" /> <! - <appender-ref ref = "allLog" /> -> <! - <appen-ref ref = "Debuglog" /> -> <appender-ref ref = "errorLog" /> <! - <appender-ref alef = "rollingfile" /> </ root>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"); }} Article de référence: https://www.vevb.com/article/143486.htm
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.