linux - Log4j2 为 Ubuntu 创建日志但不为 CentOS 创建日志

标签 linux log4j log4j2

我的程序在某些 Linux 机器上作为服务运行。我发现在 Ubuntu 16 上日志记录是可以的,但在 CentOS 上(Linux local 3.10.0-514.21.1.el7.x86_64 #1 SMP Thu May 25 17:04:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux)我做不观察在/var/log 中创建的日志文件。

Log4j2 配置

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
        <RollingFile name="InfoFileAppender"
                     fileName="/var/log/MY.log"
                     filePattern="/var/log/MY.log.%d{yyyy-MM-dd-hh-mm}.gz">
            <PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"/>
            <Policies>
                <SizeBasedTriggeringPolicy size="100 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="20"/>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="Console" level="TRACE"/>
            <AppenderRef ref="InfoFileAppender" level="TRACE"/>
        </Root>
    </Loggers>
</Configuration>

但是,当我运行 sudo service myservice status 时,我确实看到了几行日志 - 所以它们一定到达了其他地方!

我猜测也许 journalctl 可以向我显示一些日志,并使用了 https://www.loggly.com/ultimate-guide/using-journalctl/获取一些日志尾部命令,但没有任何结果,它会回复“未找到日志文件。”

我怎么可能解决这个问题?

最佳答案

对我来说这似乎是一个权限问题。您应该授予您的用户对/var/log 的写入权限。

关于linux - Log4j2 为 Ubuntu 创建日志但不为 CentOS 创建日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45027438/

相关文章:

log4j - Spring集成中限制jsch的输出

Log4j 中的 Java 转换模式问题

log4j2.noFormatMsgLookup 或 log4j2.formatMsgNoLookups?

java - log4j2 - 更改默认根文件夹

linux - 如何在 Ubuntu 上设置和运行 PhantomJS?

linux - 在 Vim 中从 DOS 到 Linux 的文本文档

javascript - 如何从html或javascript等网页打开putty

java - mongodb log4j2 身份验证失败

java - 指定时间后 Log4j2 自动翻转

python - 我可以使用 pygtk 为 fedora 编写 GUI 吗?