我用的是Spring boot 2.3.1版本,应用日志有问题,我的logback-spring.xml如下,
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZZ} [%thread] %-5level %logger{5} - %msg%n</pattern>
</encoder>
</appender>
<appender name="APP_LOGGER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/log/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/var/log/app.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>15</maxHistory>
</rollingPolicy>
<encoder>
<Pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZZ} %-5level %-12X{process} %-30([%thread]) %-29logger - %m%n</Pattern>
</encoder>
</appender>
<logger name="com.sample" level="DEBUG" additivity="false"/>
<logger name="org.springframework" level="INFO"/>
<root level="DEBUG">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="APP_LOGGER"/>
</root>
</configuration>
我的控制器是,
package com.sample;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
@RestController
public class Controller {
private static final Logger LOGGER = LoggerFactory.getLogger(Controller.class);
@GetMapping("/")
public void greetings(){
LOGGER.info("AAAAA....");
LOGGER.debug("DDDD...");
LOGGER.warn("WWW...");
LOGGER.error("EEEE....")
}
}
我尝试在应用程序中添加以下内容。属性文件,
logging.level.root=DEBUG
logging.level.org.springframework=INFO
logging.level.com.sample=DEBUG
运气不好,还尝试了其他替代方法,如下所示,并在application.properties
中添加了文件路径logging.file.name=/var/log/app.log
。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<logger name="org.springframework.web" level="INFO"/>
<logger name="com.sample" level="DEBUG"/>
<root level="DEBUG">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
应用程序。日志文件正在创建,我只看到与spring相关的日志,而不是应用程序中的应用程序日志。日志文件。
您的配置运行良好。从应用程序中删除日志记录配置。属性
。您需要点击baseURL<code>(例如:http://localhost:8080/)用于查看控制器内部定义的日志。我修改了<code>日志。xml一点,用于为日志目录使用变量。这里是:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_PATH" value="/home/none47/logs"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZZ} [%thread] %-5level %logger{5} - %msg%n</pattern>
</encoder>
</appender>
<appender name="APP_LOGGER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/app.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>15</maxHistory>
</rollingPolicy>
<encoder>
<Pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZZ} %-5level %-12X{process} %-30([%thread]) %-29logger - %m%n</Pattern>
</encoder>
</appender>
<logger name="com.sample" level="DEBUG" additivity="false"/>
<logger name="org.springframework" level="INFO"/>
<root level="DEBUG">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="APP_LOGGER"/>
</root>
</configuration>
需要帮助...我在这里做错了什么???我相信它确实从应用程序属性文件中读取路径和文件名。但我不认为它读取了logback.xml或logback-spring.xml 我做了一些研究,发现了许多问题/答案。但是我想每个人都说要把logback xml放在资源中,把路径和文件名放在application.properties.我知道这很简单,但是在某个地方遗漏了一些东西… 提前谢谢!! 应用程序属性
我已经在spring boot Application.properties中配置了日志路径属性。 在application.properties中的此属性中。它使用日志文件名,并在tomcat日志文件目录中创建一个新的日志文件。我检查了我的系统属性,它设置了LOG_FILE和LOG_PATH属性。我使用了1.3.6版本的spring Boot。任何与此相关的已知问题。我读过一期,似乎很久以前就修
我想用SpringBoot1.5配置log4j。10.释放。我排除了,并添加了log4j依赖项。在spring启动之前,我有所有日志,但在spring启动之后,init日志停止。 控制台日志: 和log4j2。xml文件: 你知道我做错了什么吗?
目前正在使用Spring Boot 2.0.1和Spring Security 5.0.4,用于被动应用程序。 问题是我根本没有任何Spring Security日志。 额外细节: > 我有"logging.level.org.springframework.security=DEBUG"在application.properties.记录器执行器证明了这一点。 由于未经验证的访问正确返回401状
编写了简单的POC来证明和测试Spring Boot和log4j2的兼容性。一旦成功,我将把它移动到真正的应用程序。 请参考下面的maven依赖关系(来自POC): 如果我不排除Spring的logback,也不添加boot-starter-log4j2,那么应用程序日志会打印到应用程序文件中,但Spring日志根本不会打印。我感觉到了依赖的问题。感谢任何帮助。