【问题标题】:避免 Log4j 漏洞,仅写入 LOG 消息但无法创建文件夹
【发布时间】:2022-01-23 11:55:26
【问题描述】:

当我听说 Log4j2 漏洞时,我直接将我的应用程序日志库更改为版本 2.17.0。当我在请求之前运行项目时,我会将 Spring Boot 应用程序生成的消息发送到我的日志文件中。

12-2021-22 [INFO ] org.springframework.boot.StartupInfoLogger.logStarting(StartupInfoLogger.java:55) - Starting ProjectNameApplication using Java 1.8.0_111 on pc-name with PID 00000 (C:\Workspace\project-name\target\classes started by user.namein C:\Workspace\project-name)
    12-2021-22 [INFO ] org.springframework.boot.SpringApplication.logStartupProfileInfo(SpringApplication.java:635) - No active profile set, falling back to default profiles: default
    12-2021-22 [INFO ] org.springframework.boot.StartupInfoLogger.logStarted(StartupInfoLogger.java:61) - Started ProjectNameApplication in 8.858 seconds (JVM running for 12.962)

但我不想在我的日志文件中创建这些消息。我只想在请求和响应生成时写消息,就像我的配置之前一样。如何解决这个问题?我的意思是我只想将消息发送到我的请求和响应的日志文件。

这是我的 log4j2.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
    <Properties>
        <Property name="basePath">/folderName/logs/</Property>
    </Properties>

    <Appenders>
        <RollingFile name="fileLogger" fileName="${basePath}/fileName.log"
                     filePattern="${basePath}/edf-info-%d{MM-yyyy-dd}.log">
            <PatternLayout>
                <pattern>%d{MM-yyyy-dd} [%-5level] %l - %msg%n</pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
            </Policies>
        </RollingFile>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout>
                <pattern>%d{MM-yyyy-dd} [%-5level] %l - %msg%n</pattern>
            </PatternLayout>
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="com.company.projectName" level="info" additivity="true">
            <appender-ref ref="fileLogger" level="debug"/>
        </Logger>
        <Root level="info" additivity="false">
            <appender-ref ref="console"/>
        </Root>
    </Loggers>
</Configuration>

【问题讨论】:

    标签: java spring-boot security directory log4j2


    【解决方案1】:

    路径中有两个“/”:“/folderName/logs//fileName.log”

    如果这不能解决问题,可能是一个愚蠢的问题,但你是否运行了mvn clean install

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 2022-01-22
      • 2016-08-19
      相关资源
      最近更新 更多