0

I want to enable garbage collection logging for Java application running on Windows

Like standard Windows programs the application is installed in C:/Program Files/CompanyName/SoftwareName and my application logs are stored in C:/Users/username/Roaming/SoftwareName

and in my code I identify the location of C:/Users/username/AppData with

System.getenv("APPDATA");

Now I want the garbage logs to also go in that location, but I cannot see how I could specify that.

Also problematically if i just specify a filename and try to create in C:/Program Files/CompanyName/SoftwareName instead with

-Xlog:gc*:file=gc.log:time:filecount=7,filesize=8M

then JVM fails to start because on Windows programs do not have permissions to create files in this folder after installation

Now if i was starting application in a batch script I suppose I could use %APPDATA% in the batch but I am using winrun4j so I do not see I have access to such variables from the .ini file.

Paul Taylor
  • 13,411
  • 42
  • 184
  • 351

1 Answers1

0

Okay I found I could use %APPDATA% in the .ini file as well

e.g

vmarg.1=-Xlog:gc*:file=%APPDATA%\SoftwareName\Logs\gc.log:time:filecount=7,filesize=2M
Paul Taylor
  • 13,411
  • 42
  • 184
  • 351