Este artículo presenta el código de ejemplo de SpringBoot que integra SLF4J+LOG4J2. Se comparte contigo. Los detalles son los siguientes:
Dependencias maven
< <Exifusions> <!-Eliminar dependencias de registro antiguo-> <exclusion> <MoupRupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-logging </artifactid> </excusion> </exclusions> </dependency> <epardency> <proupid> org.springframework.boot </groupid> <artifactid> spring-boot starter-web </artifactid> <exclusions> <!-Eliminar dependencias de registro antiguas-> <exclusion> <MoupRupid> org.springframework.boot </groupid> <artifactID> spring-boot starter logging </artifactid> </excusions> </pendency>
Si otras dependencias tienen conflictos de registro de registro, puede agregar la siguiente configuración:
<exclusions> <Sclusion> <ProupId> log4j </proupid> <arifactid>*</artifactid> </extusion> <Scusion> <ProupId> org.slf4j </groupid> <artifactid>*</artifactid> </extusion> <extusion> <uproupid> org.sslf4j </groupiD> </artifactid>*</artustion> </artustion> </artustion> </artustion> </artustion> </artustion> </artustion> </artustion> </artustion> </artustion> </artustion> </artustion> </arthusion> </artustion> <Sextusion> <MoupRoMID> org.apache.logging.log4j </groupid> <artifactId>*</arfactid> </extusion> </exclusions>
log4j2.xml
Ponlo en el directorio de recursos
<? xml versión = "1.0" encoding = "utf-8"?> <!-Los 6 niveles de prioridad son: desactivados, fatales, error, advertencia, información, depuración, rastreo, todos. Si la prioridad se establece para advertir, entonces los cuatro niveles de registros, desactivados, fatales, errores y advertir, pueden generar normalmente. Esto significa que los registros de LOG4J2 no se registran. -> <!-Estado: se usa para especificar el nivel de registro de impresión de log4j en sí mismo, monitorinterval: especifique el tiempo de intervalo de monitoreo para log4j reconfigurado automáticamente-> <Configuration Status = "Info" MonitorInterval = "30"> <!-Establezca las propiedades usted mismo y luego acceda a él a través de $ {}-> <!-<Propiedades> <propiedad de propiedades name = "log_home"> $ {web: rootdir}/logs </propiets> </propiies>-> <pénses> <!-Appender 1. Salida a la consola de la consola, especifique el formato de salida y el nivel de filtro como información-> <name de console = "Console" Target = "System_out"> <!-Thrhesholdfilter Especifica el nivel más bajo de la salida de salida de la salida de la salida de la salida de log. onMatch = "Acept" onMismatch = "deny"/> <patróneut patrón = " %d {hh: mm: ss.sss} %-5Level %class {36} %l %m- %msg %xex %n"/> </console> <!-Appender 2. Salida al archivo salvado por el archivo, la condición de la condición de la condición de la condición de que el archivo de registro es que el archivo de registro es más importante que el archivo de registro es más importante que 3kb, y solo 3kb, y solo el 10 de los 10 años es el archivo de registro que es más importante que el archivo de registro es más importante que 3 Los registros se guardan-> <file name = "alllog" filename = "$ {log_home} /all.log"> <ThresholdFilter nivel = "all" onmatch = "aceptan" onmismatch = "deny"/> <patróneut charset = "utf-8" patrón = " %d {yyyyy.mm.dd 'en' hh: mm: mm: ssel} %class {36} %l %m- %msg %xex %n "/> </sil> <!-Appender 3. Exportar al archivo guardado por desplazamiento, la condición que desencadena el archivo de registro de guardado es que el archivo de registro es mayor que 3KB, y solo los últimos 10 registros se guardan-> <RollingFile Name =" DEBUGUGLOG "FileName =" $ {Log_Home} /DeBug.LOG ". filePattern = "$ {log.path} /debug-%i.log"> <ThresholdFilter nivel = "debug" onmatch = "aceptar" onMismatch = "deny"/> <patróneut charset = "utf-8" patrón = "[%-5Level] [%d {yyyy-mm-dd hh: mm: ss»] [%f:%l] %m %n "/> <sizeBaseDtriggeringPolicy size =" 3kb "/> <!-El parámetro máximo en defaultrolloverStrategy puede limitar los archivos máximos después de que el tamaño excede el tamaño en sizeBaseDtriggeringpolicy El archivo de registro es el primer evento de registro por minuto. Los registros de errores se generan mediante minutos-> <rollingFile name = "ErrorLog" FileName = "$ {log_home} /error.log" filePattern = "$ {log.path}/error-%d {yyyy-mm dd_hhh-mm} .log"> <ThrhesholdFilter Level = "Error" OnMatch = "oneMismatath =" ONMISMATCH "ONMISMATT =" ONMANT <PatternLayout Charset = "UTF-8" Pattern = "[%-5Level] [%D {yyyyyy-mm-dd hh: mm: ss}] [%c:%f:%l]-%m%n"/> <TimeBasedTriggeringPolicy/> <//rollingfile> <Nombre de rollingfile = "Rollingfile" "" FileName = "$ {log_home} /rar.log" filePattern = "$ {log_home}/$$ {date: aayyyy-mm}/$ {file_name}-%d {mm-dd-yyyy}-%i.log.gz"> <matterneut charset = "utf-8" patrones = "%d @ {ddyyy ' HH: MM: SS Z} %-5Level %class {36} %l %m- %msg %xex %n "/> <!-El valor máximo del archivo de registro se comprime al día siguiente-> <Político> <TimeBasedPolicyPolicy/> <sizeBasedTriggeringPolicy size =" 10 MB "/> </policies> </rollingFile> </apingfile> </spenders> </spenders> </appEnders> </spenders> </spenders> </polyingfile> </appEnders> </appEnders> </spenders> </policings> </polygelings> </spolte). Carga-> <gloggers> <root nivel = "debug"> <appender-ref ref = "console"/> <!-<appender-ref ref = "alllog"/>-> <!-<appender-ref ref = "debuglog"/>-> <!-<appender-ref ref = "Errorlog"/>-<!-<Appender-Reff = "Refinfefile" </loggers> </figuration> LogTest.java
importar 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 ("traza"); log.debug ("debug"); log.warn ("warn"); log.info ("info"); log.error ("error"); }}Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.