Logback不在Linux服务器上编写特定的日志文件

时间:2016-03-05 10:35:51

标签: maven tomcat logback

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

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

没有粘性痕迹 /根/应用/为MyService /日志

没有堆栈跟踪。

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

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

你在/ usr / local / tomcat8 / logs / file写入权限上安装的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>

1 个答案:

答案 0 :(得分:0)

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

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

$ mvn dependency:tree

=&gt;仅为使用SLF4j和Logback&gt;

进行日志记录添加这些jar
    <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>