Spring boot log4j2未写入xml文件中指定的日志文件

Spring boot log4j2未写入xml文件中指定的日志文件,spring-boot,log4j2,ubuntu-18.04,Spring Boot,Log4j2,Ubuntu 18.04,我在springboot api上遇到了log4j2问题。我们在EC2实例上使用ubuntu,无法获取log4j2.xml来创建我们想要的日志文件,也无法写入我们在该位置手动创建的日志文件。 我们已经多次检查了xml文件,据我们所知,问题不在于文件本身。我们还搞乱了日志文件的可写性权限,我们认为这也不是问题所在;我们都是linux的新手,所以我们可能是错的 <Configuration> <Properties> <Properties>

我在springboot api上遇到了log4j2问题。我们在EC2实例上使用ubuntu,无法获取log4j2.xml来创建我们想要的日志文件,也无法写入我们在该位置手动创建的日志文件。 我们已经多次检查了xml文件,据我们所知,问题不在于文件本身。我们还搞乱了日志文件的可写性权限,我们认为这也不是问题所在;我们都是linux的新手,所以我们可能是错的

<Configuration>
    <Properties>
        <Properties>
            <Property name="filename">log/api.log</Property>
            <Property name="LOG_PATTERN">%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} %p %m%n</Property>
        </Properties>
    </Properties>
    <Appenders>
        <Console name="ConsoleAppender" target="SYSTEM_OUT">
            <PatternLayout
                    pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"/>
        </Console>
        <File name="MyFile" fileName="log/api.log">
            <PatternLayout
                    pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"/>
        </File>

        <RollingFile name="appLog"
            fileName="api.log"
            filePattern="application-%d{yyyy-MM-dd}-%i.log">
            <PatternLayout pattern="${LOG_PATTERN}" />
            <Policies>
                <SizeBasedTriggeringPolicy size="19500KB" />
            </Policies>
            <DefaultRolloverStrategy max="1" />
        </RollingFile>
    </Appenders>
    <Loggers>
         <Logger name="org.hibernate.SQL" level="debug" additivity="false">
            <AppenderRef ref="ConsoleAppender"/>
            <AppenderRef ref="MyFile"/>
            <AppenderRef ref="appLog"/>
        </Logger>
        <Logger name="org.hibernate.type.descriptor.sql" level="trace" additivity="false">
            <AppenderRef ref="ConsoleAppender"/>
            <AppenderRef ref="MyFile"/>
            <AppenderRef ref="appLog"/>
        </Logger>

        <Root level="info">
            <AppenderRef ref="ConsoleAppender"/>
            <AppenderRef ref="MyFile"/>
            <AppenderRef ref="appLog"/>
        </Root>
    </Loggers>
</Configuration>

log/api.log
%d{yyyy-MM-dd'HH:MM:ss.SSSZ}%p%m%n

有什么想法吗?

您指定了两个文件;log/api.log和api.log。当应用程序启动时,Log4j将在当前工作目录中创建这些文件。由于您还没有说明文件实际创建的位置,因此不能再多说了