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

问题描述 投票:0回答:1

我在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 &
java ubuntu jar log4j
1个回答
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手动启动和停止服务

© www.soinside.com 2019 - 2024. All rights reserved.