编辑install4j运行时vmoptions以重定向stderr和stdout

编辑install4j运行时vmoptions以重定向stderr和stdout,install4j,Install4j,我们正在从installanywhere切换到install4j。使用前者,我们可以在需要进行额外调试时(应用程序在linux上作为服务运行,因此默认情况下启动器会吞下stderr和stdout)向启动器的配置文件(lax文件)添加一个特定的重定向选项,并将stderr/stdout重定向到一个文件 在任何地方都找不到有关如何以相同方式编辑已安装应用程序的install4j vmoptions文件的任何文档 有人知道怎么做吗 (需要明确的是,这是由install4j生成的应用程序启动器启动服务,

我们正在从installanywhere切换到install4j。使用前者,我们可以在需要进行额外调试时(应用程序在linux上作为服务运行,因此默认情况下启动器会吞下stderr和stdout)向启动器的配置文件(lax文件)添加一个特定的重定向选项,并将stderr/stdout重定向到一个文件

在任何地方都找不到有关如何以相同方式编辑已安装应用程序的install4j vmoptions文件的任何文档

有人知道怎么做吗


(需要明确的是,这是由install4j生成的应用程序启动器启动服务,而不是安装程序本身。)

install4j没有这样的选项,但在应用程序中有条件地设置重定向相当容易:

if (Boolean.getBoolean("debug.redirect")) {
    System.setOut(new PrintStream(new FileOutputStream("stdout.log")));
    System.setErr(new PrintStream(new FileOutputStream("stderr.log")));
}

至少从版本7开始,install4j现在通过启动器向导以两种不同的方式支持此功能:

允许
-控制台
参数
在页面上,您可以配置GUI应用程序以支持
-console
参数:

如果用户在从控制台窗口启动启动器时提供-console参数,启动器将尝试获取控制台窗口并将stdout和stderr重定向到该窗口

请注意,install4j启动器不会使用
-console
参数,它会传递给您的应用程序,因此您需要准备好处理它

将stdout和stderr重定向到文件 在页面上,您可以指定将stdout和stderr重定向到的单独文件

如果启用,使用这些选项将覆盖
-console
参数:

如果在重定向设置中重定向stderr和stdout,则该输出将不会写入控制台