This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
1) In my web-based application i am using log4j for debugging my application.But the problem i m facing is that whenever i have to delete the logs generated while the Tomcat Server is on that is i am testing my application, i am able to delete the logs but not able to save the file so all the logs i deleted diplays again plus the new one generated.The system says the file is in use?? So i have to shutdown my tomcat & then the file gets saved .So how to get rid of this problem .
Also how can i generate different files whenever i start my application so that i dont have to refer my old file for the logs.Does it need any extra configuration in my properties file i m using for log4j??
My properties file is like this.....
2) One more thing i am generating some csv files from my application but they doesn't get deleted while my server remains ON. This should not happen as my application will be used by many users through web..
What i want to do is create the csv files actually they are a form of reports so each individual user should be able to generate report in the file system of their own PC.Currently my files are getting generated on the fileSystem where i m developing my application, ie on server's file system...
So help me sort out these two queries...
The Art Of Life Is To Know When To Be Useless And When To Be Useful - CHUANG TZU
The problem is that the server, more exactly the log4js' appender has a write lock on your file. So while the appender is not closed, you cannot delete the file. A solution would be you generated smaller files, or to set the append flag to false, so when you restart your server, the old log file is deleted automatically.
I am as well trying to find a solution to have a new log file when server restarts, and as well keep the old one, all this from log4j configuration file. If you find a solution, please share it.
Joined: Dec 28, 2004
Hi Norbert thanks for the reply.
So how to set this append flag to false because i dont know??
Joined: Apr 06, 2006
So, you have to modify this property in your log4j configuration file: <param name="Append" value="true"/>
When you set it to false, at restart of application server the file is emptied.