Logback 未在 Linux 服务器上写入特定的日志文件

Logback is not writing specific log file on the Linux server

我正在使用 Logback API 来记录基于 java 的应用程序并提供以下创建文件的路径,但在 VPS 服务器上它没有创建文件。相同的配置在我的本地机器上运行良好。请检查您是否可以提供帮助,这个问题是否与文件夹和文件的写入权限有关。我给了

chmod 777 对以下日志文​​件夹的权限,但仍然没有成功。请帮忙。

无粘性痕迹 /root/apps/myservice/logs

没有堆栈跟踪。

我已经在这个文件夹上安装了 Tomcat 8 个实例 - /root/apps/authservice/apache-tomcat-8.0.32/logs

是否是Tomcat写入限制的问题,无法写入此logs文件夹 /在 CentoS Linux 机器上?我有 root 用户权限,Tomcat 也有 root 用户,从顶级根到嵌套文件夹的所有 777 权限-我已经在这个文件夹上安装了 Tomcat 8 个实例 - /root/apps/authservice/apache-tomcat-8.0.32/logs

请问你安装在/usr/local/tomcat8/logs/上的Tomcat文件写权限是一样的吗?我需要安装 Tomcat usr/local 文件夹吗?是否是访问权限的问题 CentoS Linux 机器上的 /root 和 /local 访问权限?

<property name="DEV_HOME" value="/root/apps/logs" />

<appender name="FILE-AUDIT"     class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${DEV_HOME}/myapp.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily -->
        <fileNamePattern>${DEV_HOME}/archived/myapp.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <!-- or whenever the file size reaches the max -->
            <maxFileSize>${rolling.file.max.size}</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
        <maxHistory>${rolling.file.max.history}</maxHistory>
    </rollingPolicy>
    <encoder>
        <pattern>${rolling.file.encoder.pattern}</pattern>
    </encoder>
</appender>

最后我得到了自己问题的解决方案并为其他人发布了解决方案并节省了他们 2 天的精力:)

当我们从旧的 log4j 迁移到 Logback 时,问题与 log4j 和 Logback 之间的冲突有关。您需要通过 运行 此命令从现有依赖项中排除 lo4j 依赖项:

$ mvn dependency:tree

= >添加这些 jar 仅用于使用 SLF4j 和 Logback 进行日志记录>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${version.slf4j}</version>
    </dependency>

    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${version.logback}</version>
        <scope>runtime</scope>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>log4j-over-slf4j</artifactId>
        <version>${version.slf4j}</version>
        <scope>runtime</scope>
    </dependency>