带弹性豆茎的logback

qkf9rpyu  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(415)

我在使用elastic beanstalk记录应用程序日志时遇到问题。我正在64位amazonlinux2/4.1.3环境下运行的tomcat8.5和corretto11上的awslasticbeanstalk上运行一个springmvc(不是springboot)war文件。
以前我认为问题是无法检索应用程序编写的日志。然而,在遵循这个问题的建议(aws elastic beanstalk应用程序logging with logback)之后,我能够确定查看日志没有问题-实际的问题是日志甚至没有被写入。我使用ssh连接到示例,并且日志文件没有在/var/log目录中创建
作为参考,这里是我的logback文件appender(链接问题中的完整logback.xml):

<appender name="APPLOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/var/log/java.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>/var/log/java_%d{yyyy-MM-dd}_%i.log</FileNamePattern>
            <!-- keep 14 days' worth of history -->
            <maxHistory>14</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- or whenever the File size reaches 10MB -->
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} [%thread][%X{remoteHost}] %-5level %c{1} - %msg%n</pattern>
            <!-- <pattern>%d %-5p %c{1} - %m%n</pattern> -->
        </encoder>
    </appender>

该应用程序正在使用slf4j-api-1.7.6、logback-classic-1.2.3和logback-core-1.2.3。当在tomcat服务器上本地加载同一个war时,应用程序日志工作正常。
所以现在我想知道(1)logback和弹性豆茎一起工作吗(2) 如果是,是否需要一些特殊的(权限?、其他依赖项)来将日志写入 /var/logs 目录?

8hhllhi2

8hhllhi21#

根据评论。
问题是由权限引起的。默认情况下,eb上的用户应用程序无权访问 /var/logs .
解决方案是修改权限,以便可以将日志放置在 /var/log/tomcat .

相关问题