在Ubuntu 14下运行Log4j的可执行jar

时间:2016-01-23 12:46:03

标签: java ubuntu jar log4j

我在Java应用程序中使用Log4J来记录应用程序运行时的一些内容。我使用Ubuntu 14命令在我的VPS "nohup java -jar application.jar &"上启动它以使其保持活动状态,即使我关闭了终端。

只要终端打开,应用程序就会在日志文件中登录,当我关闭终端时它不会。但它仍在运行。

我的log4j.xml:

    <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true"
  xmlns:log4j='http://jakarta.apache.org/log4j/'>

    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" 
            value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
        </layout>
    </appender>

    <appender name="file" class="org.apache.log4j.RollingFileAppender">
        <param name="append" value="true" />
        <param name="maxFileSize" value="10MB" />
        <param name="maxBackupIndex" value="10" />
        <param name="file" value="LOG/connect.log" />
        <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" 
            value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
        </layout>
    </appender>

    <root>
        <level value="DEBUG" />
        <appender-ref ref="console" />
        <appender-ref ref="file" />
    </root>

</log4j:configuration>

我如何启动jar:

nohup java -jar application.jar &

1 个答案:

答案 0 :(得分:0)

我在ubuntu 12.04中也遇到了类似的问题,我通过添加可执行文件作为服务来修复它,启用了respawn而不是使用nohup。在os的/ etc / init /文件夹中创建一个.conf文件。

start on runlevel [2345]
respawn
exec /usr/bin/java -jar /path/to/jar

使用service serviceName stop和service serviceName start

手动启动和停止服务