This is weird. I had it working two hours ago with /web/WEB-INF/logs/debug.log as my output path. Now it's not working!!! I have to use the absolute path to make logging working for now. Also it seems that if I use the relative path /web/debug.log or just debug.log, things worke fine, but that's not where I want it to go to.
Could the same server invoke things differently? Man, what's the deal with setFile() anyway? Why it cannot create the path dirs if the path doesn't exist? -----Original Message----- From: Shapira, Yoav [mailto:[EMAIL PROTECTED] Sent: Thursday, December 11, 2003 10:44 AM To: Log4J Users List Subject: RE: Log output path problem Howdy, You need to specify the absolute path or use an environment variable, such as one set to the server's home. Your current specification is relative to the current working directory of the server, which varies depending on how the server is invoked. Yoav Shapira Millennium ChemInformatics >-----Original Message----- >From: Yansheng Lin [mailto:[EMAIL PROTECTED] >Sent: Thursday, December 11, 2003 12:40 PM >To: [EMAIL PROTECTED] >Subject: Log output path problem > > >Hi, I want my log output to go to /WEB-INF/logs/ as specified in my >log4j.properties > >----------------------------------------------------------------------- - >log4j.rootLogger=debug, stdout, ROOT_APPENDER >log4j.appender.ROOT_APPENDER=org.apache.log4j.DailyRollingFileAppender >log4j.appender.ROOT_APPENDER.DatePattern='.'yyyy-MM-dd >log4j.appender.ROOT_APPENDER.File=WEB-INF/logs/debug.log >----------------------------------------------------------------------- - > >But I am getting the following error when I run a test program: > >----------------------------------------------------------------------- - >log4j:ERROR setFile(null,true) call failed. >java.io.FileNotFoundException: WEB-INF\logs\debug.log (The system cannot >find >the path specified) > at java.io.FileOutputStream.openAppend(Native Method) > at java.io.FileOutputStream.<init>(FileOutputStream.java:174) > at java.io.FileOutputStream.<init>(FileOutputStream.java:102) > at org.apache.log4j.FileAppender.setFile(FileAppender.java:272) > at >org.apache.log4j.FileAppender.activateOptions(FileAppender.java:151) > at >org.apache.log4j.DailyRollingFileAppender.activateOptions(DailyRollingF ileA >ppend >er.java:206) > at >org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:247 ) > at >org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.jav a:12 >3) > at >org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.jav a:87 >) > at >org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurato r.ja >va:64 >5) > at >org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurato r.ja >va:60 >3) > at >org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyCon figu >rator >.java:500) > at >org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator. java >:406) > at >org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator. java >:432) > at >org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConve rter >.java >:460) > at org.apache.log4j.LogManager.<clinit>(LogManager.java:113) > at org.apache.log4j.Logger.getLogger(Logger.java:94) > at Log4JTest.<clinit>(Log4JTest.java:21) >log4j:ERROR Either File or DatePattern options are not set for appender >[ROOT_APPENDER]. > INFO [main] (Log4JTest.java:29) - Entering application. >0 [main] INFO Log4JTest - Entering application. >program executing > INFO [main] (Log4JTest.java:31) - Exiting application. >0 [main] INFO Log4JTest - Exiting application. >----------------------------------------------------------------------- - > >The test program is: > >------------------------------------------------------------------- >import org.apache.log4j.Logger; >import org.apache.log4j.BasicConfigurator; > >public class Log4JTest >{ > > // Define a static logger variable so that it references the > // Logger instance named "Log4JTest". > static Logger logger = Logger.getLogger(Log4JTest.class); > > public static void main(String[] args) > { > > // Set up a simple configuration that logs on the console. > BasicConfigurator.configure(); > > logger.info("Entering application."); > System.out.println("program executing"); > logger.info("Exiting application."); > } >} >------------------------------------------------------------------- > > >PS. I don't get the above error if I specify the output path to be: > log4j.appender.ROOT_APPENDER.File=debug.log > Oh, I aslo tried: > log4j.appender.ROOT_APPENDER.File=/WEB-INF/logs/debug.log > But got same error. > >Thanks in advance! > >-Yan > > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]