如何配置我的log4j(使用Glassfish)登录日志目录,而不是配置?

9 java logging glassfish

我的log4j.properties文件中有以下行:

log4j.appender.logfile.File = MyApplication.log

我的日志文件出现在MyDomain/config目录中,但我希望它登陆MyDomain/logs目录.我怎样才能做到这一点?我不允许修改startserv脚本.

在此先感谢您的帮助!

Her*_*rme 8

实际上,解析变量$ {catalina.home}的是log4j,Glassfish将$ {catalina.home}声明为$ {com.sun.aas.instanceRoot},指向path/to/MyDomain /

您可以在GF环境中声明任何变量并将其放在log4j.properties上,log4j将在配置log4j时解析它们.

这对于设置基于服务器的日志记录配置参数非常有用,使用相同的log4.properties进行测试和部署


Joh*_*ary 7

您可以将appender设置为使用$ {com.sun.aas.instanceRoot},但与其他一些注释不同,它应该是:

log4j.appender.logfile.File=${com.sun.aas.instanceRoot}/logs/MyApplication.log
Run Code Online (Sandbox Code Playgroud)

这是../domains/domain{x}/logs目录中日志的正确位置.


Vin*_*jip 0

您需要指定绝对路径,而不是相对路径(假设 Unix 路径):

log4j.appender.logfile.File=/path/to/MyDomain/logs/MyApplication.log
Run Code Online (Sandbox Code Playgroud)