Configuración de registro predeterminada de SpringBoot
SpringBoot está fuera de la caja y le proporciona el marco de registro de forma predeterminada, utilizando Commons Logging , pero la configuración predeterminada también proporciona soporte para registros comunes, como: Java Util Logging, Log4j, Log4j2 y Logback. Cada registrador puede usar la consola o el archivo para emitir el contenido del registro a través de la configuración.
Salida de consola
Con respecto a los registros de registros, los primeros cinco niveles de registro son niveles: de alto a bajo, ERROR , WARN , INFO , DEBUG y TRACE , el nivel inferior generará información de alto nivel, y el nivel alto no generará información de bajo nivel. Por ejemplo: si el nivel se establece en ERROR , la información de WARN , INFO y DEBUG no se generará. En Springboot, los niveles de ERROR , WARN e INFO se configuran de forma predeterminada en la consola. No hay un nivel FATAL en logback, se tratará como un nivel ERROR .
Podemos cambiar al nivel de depuración de dos maneras:
application.properties . Cuando esta propiedad se establece en True, el registrador central (incluidos los contenedores integrados, Hibernate y Spring) generará más contenido, pero los registros que aplicó por usted mismo no generarán al nivel de depuración.Salida colorida
SpringBoot admite la salida del registro de color desde la versión 1.4.0. Si su terminal admite ANSI, la salida de color de configuración hará que el registro sea más legible. Compatible con la configuración del parámetro spring.output.ansi.enabled en application.properties .
NEVER : deshabilite la salida de color ANSI (elemento predeterminado)DETECT : verificará si el terminal admite ANSI. En caso afirmativo, use la salida de color (elemento recomendado)ALWAYS : use siempre el formato de color ANSI para la salida. Si el terminal no lo admite, habrá mucha información de interferencia. No se recomienda usarlo.Salida de archivo
La configuración predeterminada de SpringBoot solo se emitirá a la consola y no se registrará en archivos, pero generalmente necesitamos grabar en archivos al usar el entorno de producción.
Para aumentar la salida del archivo, debe configurar logging.file o logging.path en application.properties .
logging.file : Establezca el archivo, que puede ser una ruta absoluta o una ruta relativa. Por ejemplo: logging.file = my.loglogging.path : configurando el directorio, el archivo spring.log se creará en este directorio y se escribirá el contenido de registro, como: logging.path =/var/logEl archivo de registro se truncará a un tamaño de 10 MB, lo que dará como resultado nuevos archivos de registro. Los niveles predeterminados son: error, advertencia, información
Control de nivel
En SpringBoot, solo necesita configurar el control de nivel para completar el registro en application.properties .
Formato de configuración: logging.level.*= Nivel
logging.level : prefijo de control de nivel de registro, * es el nombre del paquete o el nombre del registradorLEVEL : Opciones Trace, depuración, información, advertencia, error, fatal, apagadoPor ejemplo:
DEBUG .WARNConfiguración de registro personalizado
Si no desea usar la configuración predeterminada, simplemente agregue su propio archivo de configuración de registro. Dado que los servicios de registro generalmente se inicializan antes de que se cree ApplicationContext , no tienen que controlarse a través del archivo de configuración de Spring . Por lo tanto, el control de registro y la administración aún pueden ser bien admitidos a través de propiedades del sistema y archivos de configuración externos tradicionales de arranque de primavera.
Dependiendo de diferentes sistemas de registro, puede organizar el nombre del archivo de configuración de acuerdo con las siguientes reglas y se puede cargar correctamente:
Recomendaciones oficiales de SpringBoot para usar un nombre de archivo con -spring como configuración de registro (como usar logback -spring.xml en lugar de logback.xml)
Formato de salida personalizado
En SpringBoot, puede controlar el formato de salida configurando los siguientes parámetros en application.properties :
logging.pattern.console : define la salida de estilo a la consola (JDK Logger no es compatible)logging.pattern.file : Define el estilo de salida al archivo (JDK Logger no es compatible)Estos formatos también se pueden definir directamente en el archivo de configuración de registro, en lugar de en el archivo de configuración de la aplicación.
Plantillas de archivo de configuración de logback comunes
<? xml versión = "1.0" encoding = "utf-8"?> <necuteation> <!-Defina la dirección de almacenamiento del archivo de registro y no use rutas relativas en la configuración de logback-> <Property name = "log_home" valor = "d:/logs"/> <!-Color Log Dependence Represing Class-> <conversión de conversión de conversión = "CLR" CLR "" CLR "" CLR "" CLR "CLR" converterClass = "org.springframework.boot.logging.logback.colorConverter"/> <conversionRule conversionword = "wex" converterclass = "org.springframework.boot.logging.logback.whiteSpacethrowableProxyConverter"/> <conversionRuleRionrul converterclass = "org.springframework.boot.logging.logback.extendedWhitespAThrowableProxyConverter"/> <!-Formato de registro de color-> <Property name = "console_log_pattern" value = "$ {concole_log_pattern:-%clr (%d {yyyyyyyyy HH: mm: ss.sss}) {débil} %clr ($ {log_level_pattern:- %5p}) %clr ($ {pid:-}) {magenta} %clr (-) {débil} %clr ([ %15.15t]) {débil} %clr ( %-40.40logger {39}} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> <!-- Console Output Settings--> <appender name="console"> <encoder> <!--Format output: %d represents the date, %thread represents the thread name, %-5level: Level displays 5 characters from the left %msg: log message, %n is a newline character --> < name = "file"> <RollingPolicy> <!-Salida de nombre de archivo por archivo de registro-> <filenamePattern> $ {log_home} /MixedSys.%D {yyyyy-mm-dd} .log </filenamePattern> </rollingpolicy> <coder> <mattern>%d {yyyy-mm-dd hh: mm: mm: ss.ssss}} ss. [ %hilo] %-5Level %logger {36}- %msg %n </mattern> </coder> </appender> <!-nivel de salida de log logger (paquete.class)-> <logger name = "org.springframework.web.servlet.mvc.method.annotation.exceptionhandlerexceptionResolver" nivel = "nivel =" nivel = "nivel =" nivel = "nivel =" nivel = "nivel =" nivel = ") ref="console" /> <appender-ref ref="file" /> </logger> <logger name="org.springframework.boot" level="DEBUG"/> <!-- Customize for Hibernate sql--> <!-- <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" /> <logger nombre = "org.hibernate.type.descriptor.sql.basicExtractor" nivel = "debug" /> <logger name = "org.hibernate.sql" nivel = "debug" /> <logger name = "org.hibernate.engine.QueryParameters" Nivel = "Debuge" /> <Logger name = "org.hibernate.engine.query.hqlQueryPlan" nivel = "debug" />-> <!-Log Output Level-> <root nivel = "info"> <!-En este momento, la información de nivel de depuración se filtrará-> <appender-ref ref = "console" /> <appender-ref refin = "archivo" /> < /root> <!--asynchonely-log la log " < </dataSource> </nectionsource> </appender> -> </figuration>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.