Java Logback—XML文档在哪里注入变量
我正在做一个Java Logback—XML文档在哪里注入变量,java,xml,spring,logback,slf4j,Java,Xml,Spring,Logback,Slf4j,我正在做一个springboot项目,我看到了用slf4j和logback完成的日志记录。下面是一个logback spring.xml我看到除了一个文件之外,还将错误记录到控制台: <?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
springboot
项目,我看到了用slf4j
和logback
完成的日志记录。下面是一个logback spring.xml
我看到除了一个文件之外,还将错误记录到控制台:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<target>System.out</target>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_FILE}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE}-%d{yyyyMMddd}.%i</fileNamePattern>
<maxFileSize>10MB</maxFileSize>
<totalSizeCap>10GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="ROLLING"/>
<appender-ref ref="STDOUT"/>
</root>
</configuration>
,但它们似乎没有提供关于如何注入值的内部工作的足够详细信息。Spring boot附带了一个默认的logback配置。jar已经为不同的appender嵌入了xml配置文件。您可以在GitHub项目中查看它们:
您可以覆盖该配置,包括您自己的xml配置文件。
您正在获取未定义的文件,因为您可能尚未定义属性logging.file
您可以引用我的logback.xml文件作为参考。。。
对于示例基本spring引导,maven和基于主题的应用程序还应检查:
${DEV_HOME}/debug.log
%日期{dd MMM yyyy HH:mm:ss.SSS}-%-5level%logger{35}-%msg%n
${DEV_HOME}/debug.%d{yyyy-MM-dd}.%i.log
25MB
%日期{dd MMM yyyy HH:mm:ss.SSS}-%-5level%logger{35}-%msg%n
谢谢,除了您的信息之外,我还了解到,在我的Spring Boot项目中,我们有一些规范可以帮助其他人找到这些规范。每个环境都有一个application-.properties
文件,每个开发人员都有一个application-.properties
文件,为了使用这个文件,我们将-Dspring.profiles.active=
添加到运行/调试配置中的VM选项中。在特定的用户或环境配置文件中,我们定义了logging.file
和logging.level.
等内容,以指定日志的粒度。因此,如果我只想添加日志号,我该怎么办,我一直在找工作errors@KalpeshSoni文件追加器的默认配置将数字添加到日志中<代码>${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz
(即%i)并且它使用SizeAndTimeBasedRollingPolicy
作为日志文件的名称,我说的是java语句行number@KalpeshSoni%line
允许您打印调用日志记录请求的行号。
<!-- <include resource="org/springframework/boot/logging/logback/base.xml" /> -->
<property name="DEV_HOME" value="../logs" />
<appender name="FILE-AUDIT"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${DEV_HOME}/debug.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date{dd-MMM-yyyy HH:mm:ss.SSS} - %-5level %logger{35} - %msg%n</pattern>
</encoder>
<!-- roll over POLICY FOR daily -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${DEV_HOME}/debug.%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>25MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%date{dd-MMM-yyyy HH:mm:ss.SSS} - %-5level %logger{35} - %msg%n
</pattern>
</encoder>
</appender>
<logger name="logging.level.com.sp.mehta" level="INFO"
additivity="false">
<appender-ref ref="FILE-AUDIT" />
<appender-ref ref="STDOUT" />
</logger>
<logger name="logging.level.org.hibernate" level="ERROR"
additivity="false">
<appender-ref ref="FILE-AUDIT" />
<appender-ref ref="STDOUT" />
</logger>
<root level="INFO">
<appender-ref ref="FILE-AUDIT" />
<appender-ref ref="STDOUT" />
</root>