当前位置: 首页 > 知识库问答 >
问题:

Spring Boot日志记录-log4j2日志记录不工作?

汲睿
2023-03-14

互联网上有许多帖子建议如何从logback迁移到log4j2进行Spring引导日志记录。
参考这个sof post-Spring Boot日志与log4j2-我已经配置我的项目使用log4j2。然后我添加了一些基本的log4j2.xml和log4j2.properties文件来测试。

但是在这些更改之后,我的项目无法进行任何日志记录。有人能帮我找出毛病吗?

项目代码可在github-https://github.com/ramshers/spring-security-jwt/tree/log4j2_configuration在分支上:log4j2_配置和提交id:5e65e7d

这是pom项目。xml-https://github.com/ramshers/spring-security-jwt/blob/log4j2_configuration/pom.xml#L26
下面是log4j2属性文件-
https://github.com/ramshers/spring-security-jwt/blob/log4j2_configuration/src/main/resources/log4j2.properties
https://github.com/ramshers/spring-security-jwt/blob/log4j2_configuration/src/main/resources/log4j2.xml

共有1个答案

艾泉
2023-03-14

我查看了存储库代码,并对属性文件进行了一些更改。你可以用下面的作为起点(注意:这里的模式不同,根据你的意愿修改即可)。还要注意:我必须从application.properties文件中删除属性,因为它们现在是从log4j2.properties文件中提取的。

log4j2属性文件

rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT

appenders = console
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern =%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n

修改主类以测试它是否工作

@SpringBootApplication
public class SpringSecurityJwtApplication {

    private  static final Logger logger = LoggerFactory.getLogger(SpringSecurityJwtApplication.class);
    
    public static void main(String[] args) {
        
        SpringApplication.run(SpringSecurityJwtApplication.class, args);
        
        logger.info("Running..., info level");
        logger.debug("Running..., debug level");
    }
}
 类似资料:
  • 我试图从log4j1更改为log4j2。我所做的: 已删除旧配置文件log4j。xml 创建了新的配置文件log4j2。xml 创建了jboss部署结构。xml 编辑的pom 环境:野蝇10 1 EAR 4 WAR文件中没有使用web.xml。以前的log4j配置日志在EAR中(仅) Log4j2配置文件 Jboss部署结构 新的maven依赖关系 我之前说过我在SLF4j中使用log4j1。这些

  • 我想在我的应用程序中使用SLF4J+logback用于两个目的--日志和审计。 14:41:57.978[main]信息AUDIT_LOGGER-110欢迎使用main 如何确保审核消息在审核记录器下只出现一次?

  • 问题内容: 我正在考虑将Redis用于Web应用程序日志记录目的。我用谷歌搜索,有人将日志转储到Redis队列/列表中,然后将计划的工作人员转储到磁盘中。 http://nosql.mypopescu.com/post/8652869828/another-redis-use-case- centralized-logging 我希望寻求理解,为什么不直接使用Redis持久化到磁盘?如果我分配了一

  • logging 模块自 2.3 版以来一直是 Python 标准库的一部分。在 PEP 282 中有对它的简洁描述。除了 基础日志教程 之外,这些文档是非常难以阅读的。 日志记录一般有两个目的: 诊断日志 记录与应用程序操作相关的日志。例如,当用户遇到程序报错时, 可通过搜索诊断日志以获得上下文信息。 审计日志 为商业分析而记录的日志。从审计日志中,可提取用户的交易信息, 并结合其他用户资料构成用

  • 假设我们构建了一个JavaSDK,不同的项目可以通过将其添加为类路径中的jar或添加为mavenpom.xml或gradle文件中的依赖项来使用它。当其他项目使用该库时,SDK中的日志在运行时不可见。我尝试使用SL4J,当其他项目使用它时,没有一个日志在运行时可见。我应该用log4j2吗?如果是,我应该在我的SDK中提供log4j配置 /properties文件吗?是否会在运行时从消费者库中提取属

  • 主要内容:修改日志管理器配置每个初学者都很熟悉在有问题的代码中使用 System.out.println 方法在控制台打印消息,来帮助观察程序运行的操作过程。如果你使用  System.out.println 方法,一旦发现问题的根源,就要将这些语句从代码中删去。如果接下来又出现了问题,就需要再插入几个调用 System.out.println 方法的语句,如此反复,增加了工作量。 日志用来记录程序的运行轨迹,方便查找关键信