使用log4j登录JavaWebStart

使用log4j登录JavaWebStart,java,log4j,java-web-start,web,Java,Log4j,Java Web Start,Web,我正在将我的应用程序迁移到JavaWebStart。我的应用程序使用log4j记录消息,配置文件在安装目录中创建日志 我不知道在使用JavaWebStart时如何创建和存储日志。有谁能告诉我如何为log4j指定文件位置吗?您可以在JVM启动时将该选项传递给JVM。在windows上,这看起来像: -Dlog4j.configuration=file:/C:/MyApp/bin/log4j.properties 我们可以在log4j.property文件中添加以下条目 log4j.appende

我正在将我的应用程序迁移到JavaWebStart。我的应用程序使用log4j记录消息,配置文件在安装目录中创建日志


我不知道在使用JavaWebStart时如何创建和存储日志。有谁能告诉我如何为log4j指定文件位置吗?

您可以在JVM启动时将该选项传递给JVM。在windows上,这看起来像:

-Dlog4j.configuration=file:/C:/MyApp/bin/log4j.properties

我们可以在log4j.property文件中添加以下条目

log4j.appender.F.File=${user.home}/quest.log 

在使用log4j登录JWS应用程序时,jnlp应该包含对log4j库的引用,如下所示

<resources>
    <jar href="log4j-1.2.16.jar"/>
</resources> 

log4jjar文件应该与JWS应用程序jar文件位于同一目录中

记录位置:最首选的记录位置是在用户主页内,因为用户在那里拥有创建和修改文件的所有权限。log4j.appender.F.File=${user.home}/test.log


您可能还想使用log4j套接字appender,它将日志输出发送到远程服务器。

Hi dj。感谢您的响应,但我的问题是如何在log4j.properties中设置日志目录,例如,如果我设置(log4j.appender.F.File=logs/quest.log),那么log4j将在(current dir/logs/quest.log)中创建日志文件但是,由于您无法读取jws的内存区域,因此如果我们以后为了调试目的必须检索日志,那么我们将如何执行此操作,问题是我们如何将fileappender位置重定向到“user.home”,以便在特定位置创建所有日志,并在以后访问这些日志。希望这次我能说清楚。谢谢大家,我找到了可以使用以下设置的解决方案:log4j.appender.F.File=${user.home}/quest。log@Ashish谢谢你的回复。你应该加上这个作为答案,并把它标为正确。