如何查找install4j windows服务的日志

时间:2016-02-04 19:45:11

标签: java windows-services install4j

当我尝试启动通过install4j创建的Windows服务时,如何生成然后查找日志文件?我特别希望找到Java异常堆栈跟踪(如果有)。

上下文: 我正在尝试将一个启动器添加到install4j项目中。启动器设置为从jar创建Windows服务。

详细信息:安装时,它会安装所有必需的文件(jar包含在安装中并从命令行运行完美),但生成的Windows服务和.exe失败。 .exe会立即关闭,如果我在主程序中出现异常,则服务会抛出1067错误。'标志设置为true。如果我将该标志设置为false,我会收到一条消息,说明该服务已启动,然后停止...'当我尝试启动服务时。

错误的最可能的来源,我能想到的唯一一个会导致终止的错误,是我尝试读取配置文件时的FileNotFoundException。我相信如果我能看到相对路径的结果,我可以更正我对该配置文件的引用,但是我无法找到Windows服务运行时的日志。我发现有大量资源可以显示如何获取安装程序日志文件,甚至是来自exe的日志文件,但是没有用于从生成的服务获取日志。

注意: The executable generated by install4j doesnt start问题类似,但问题是询问exe,而不是Windows服务。 (不是说我没有尝试过,但是使用该参数运行.exe并没有创建日志文件,即使是空文件也是如此。)

关于配置文件的注意事项: 它位于目录' config'在与jar和exe相同的目录中。因此,jar使用的相对路径是" config / config.txt"

2 个答案:

答案 0 :(得分:4)

如果您的代码中存在异常,您可以在"可执行信息 - >重定向"上设置stderr的重定向。发射器向导的一步。

要获取服务的本机日志文件,请定义环境变量

INSTALL4J_LOG=yes

为所有用户重启服务。日志文件名为i4jlog...并保存到%TEMP%目录。对于目录为

NT AUTHORITY\\LOCAL SERVICE用户帐户
C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp

答案 1 :(得分:0)

在Install4j中: 去“发射器” 点击“重定向” 检查重定向stderr和stdout

在“调用:”下,确保您的主类正确无误。

这适用于所有install4j安装程序。检查Program Files / YourApp /以获取日志文件。

Common Service Installer错误:

忘记安装服务。转到安装程序:屏幕和操作: 在安装程序下,我使用: 停止服务(升级) 创建程序组 注册添加项目 安装服务

在卸载程序下: 卸载:停止服务