我有一个GUI,我使用install4j
将其打包到Window.exe中。在GUI代码中,我使用了log4j2
,将SYSTEM_OUT
指定为STDOUT
。但是,当我在Window中运行exe时,我看不到任何日志记录。我知道exe不是在控制台中运行的,但我不明白如何配置它来执行我想要的操作。
我试图将stdout
和stderr
重定向到一个文件,但该文件没有创建。
我知道我的log4j
配置是有效的,因为我的GUI可以在JavaWebStart
下毫无问题地运行。
stdout和stderr的重定向不会干扰log4j或任何其他日志记录系统,除非您只登录到控制台。
在log4j配置中,您必须配置一个记录到可写文件的appender。如果安装到程序文件文件夹,则该文件不能在安装目录中,因为在运行应用程序时可能没有提升的权限。改为登录到%APPDATA%中的某个文件夹。