You are confusing OS environment variables with Java System environment variables. If you want to be able to read ${JAVA_HOME} in a Log4j config file, you will have to set it as a Java System variable. You can do this programmatically or, maybe even more simply, on the command line....
java -DJAVA_HOME=%JAVA_HOME% MyProgram Jake At 11:19 AM 7/7/2005 +0530, you wrote: >Hi All, >I am also facing similar problem ! Log4j is unable read the env >variables. My problem is I cant hard code the path of the log file as >C:\XXX\xxLog.log. I have to read the relative path for this purpose . >Any idea ? > >I am using OC4J & log4J 1.2.11 & My log4j.xml is as below. > ><?xml version="1.0" encoding="UTF-8"?> ><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> ><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" >debug="false"> > <appender name="DAO_FRAMEWORK" >class="org.apache.log4j.DailyRollingFileAppender"> > <param name="File" >value="$(JAVA_HOME)/DAOFramework.log"/> > <param name="Append" value="true"/> > <layout class="org.apache.log4j.PatternLayout"> > <param name="ConversionPattern" value="%d %-5p >[%c{1}] %m%n"/> > </layout> > </appender> > <appender name="CONSOLE" >class="org.apache.log4j.ConsoleAppender"> > <param name="Threshold" value="INFO"/> > <param name="Target" value="System.out"/> > <layout class="org.apache.log4j.PatternLayout"> > <!-- The default pattern: Date Priority >[Category] Message\n --> > <param name="ConversionPattern" >value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/> > </layout> > </appender> > > <!-- DAO Framework --> > <logger name="DAO" additivity="false"> > <level value="INFO"/> > <appender-ref ref="CONSOLE"/> > <appender-ref ref="DAO_FRAMEWORK"/> > </logger> > > <!-- Root Logger --> > <root> > <level value="DEBUG"/> > <appender-ref ref="CONSOLE"/> > <appender-ref ref="DAO_FRAMEWORK"/> > </root> > ></log4j:configuration> > > And I am getting errors like : > >Oracle Application Server Containers for J2EE 10g (9.0.4.0.0) >initialized >log4j:ERROR setFile(null,true) call failed. >java.io.FileNotFoundException: $(JAVA_HOME)/DAOFramework.log (The system >cannot find the path specified) > at java.io.FileOutputStream.openAppend(Native Method) > at java.io.FileOutputStream.<init>(Unknown Source) > at org.apache.log4j.FileAppender.setFile(FileAppender.java:282) > at >org.apache.log4j.FileAppender.activateOptions(FileAppender.java:161) > at >org.apache.log4j.DailyRollingFileAppender.activateOptions(DailyRollingFi >leAppender.java:215) > at >org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256) > at >org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java: >219) > at >org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator. >java:149) > > > >I am calling Logger like this in Java Code : > Logger logger =Logger.getLogger("DAO"); > logger.info("I am inside logger"+this); > >Regards, >Sriram V > > >-----Original Message----- >From: Vinodh Srinivasasainagendra [mailto:[EMAIL PROTECTED] >Sent: Wednesday, July 06, 2005 9:59 PM >To: 'Log4J Users List' >Subject: RE: Clarification > >Did u try ${some_property_key} (for example, java.home or user.home >system >properties) to specify the path in front of the File. > >Ex: > >log4j.appender.dest2.File=${java.home}/log4j.log > >~vinodh > >-----Original Message----- >From: Balaji Saranathan [mailto:[EMAIL PROTECTED] >Sent: Wednesday, July 06, 2005 11:06 AM >To: 'Log4J Users List' >Subject: RE: Clarification > > >But isnt this configuring through the code? I want to configure the >FileAppender from the log4j.properties file. > > >-----Original Message----- >From: Vinodh Srinivasasainagendra [mailto:[EMAIL PROTECTED] >Sent: Wednesday, July 06, 2005 12:01 PM >To: 'Log4J Users List' >Subject: RE: Clarification > > >See the attached code, > > > >// Set FileAppender > > SimpleLayout layout = new SimpleLayout(); > > String fileName = new >File(backupDir.getParent(),"error.log").getAbsolutePath(); > > FileAppender appender = new FileAppender(layout, >fileName,true); > > > >logger.addAppender(appender); > > logger.setLevel((Level) Level.FATAL); > > Date date = new Date(System.currentTimeMillis()); > > > > logger.fatal(date.toString()); > > logger.fatal(message); > > >logger.fatal("***************************************************"); > > > >Note: > >Make sure you give the parent dir to the log file properly. > > > >~vinodh > >-----Original Message----- >From: Balaji Saranathan [mailto:[EMAIL PROTECTED] >Sent: Wednesday, July 06, 2005 10:47 AM >To: 'Log4J Users List' >Subject: RE: Clarification > > > > > >Tx. I tried it. It doesn't work I still get the same error. In the error > >below, there is a call to setFile with "null" filename. Shdnt it be > >called with the filename mentioned in the properties file? > > > > > > > >-----Original Message----- > >From: Schuweiler, Joel J. [mailto:[EMAIL PROTECTED] > >Sent: Wednesday, July 06, 2005 11:38 AM > >To: 'Log4J Users List' > >Subject: RE: Clarification > > > > > >If can't find the path, have you tried removed the leading ./? > > > >For a path I would do > > > >logs/framework.log assuming that it is contained in the same directory > >that your class is running from. > > > >-----Original Message----- > >From: Balaji Saranathan [mailto:[EMAIL PROTECTED] > >Sent: Wednesday, July 06, 2005 10:33 AM > >To: 'Log4J Users List' > >Subject: Clarification > > > > > > > >Hi, > > > >Can you tell me if log4j creates the log file (if they are not present) > >when using the FileAppenders or is it the responsibility of the > >developers to create the log files? I have a FileAppender configured and > >when I configure the > >log4j.appender.framework.File=framework.log=./logs/framework.log > >I get a the following error on stdout.log > > > >log4j:ERROR setFile(null,true) call failed. > >java.io.FileNotFoundException: .\logs\framework.log (The system cannot > >find the path specified) > > at java.io.FileOutputStream.openAppend(Native Method) > > at java.io.FileOutputStream.<init>(FileOutputStream.java:177) > > at java.io.FileOutputStream.<init>(FileOutputStream.java:102) > > at org.apache.log4j.FileAppender.setFile(FileAppender.java:282) > > at > >org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:16 > >5) > > at > >org.apache.log4j.FileAppender.activateOptions(FileAppender.java:161) > > at > >org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256) > > at > >org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java > >:132) > > at > >org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java > >:96) > > at > >org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator > >.java:654) > > at > >org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator > >.java:612) > > at > >org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConf > >igurator.java:509) > > at > >org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.j > >ava:415) > > at > >org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.j > >ava:441) > > at > >org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConver > >ter.java:468) > > > > > > > > > > > > > > > >Confidentiality Notice > > > >The information contained in this electronic message and any attachments > >to this message are intended for the exclusive use of the addressee(s) > >and may contain confidential or privileged information. If you are not > >the intended recipient, please notify the sender at Wipro or > >[EMAIL PROTECTED] immediately and destroy all copies of this message > >and any attachments. > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > >Confidentiality Notice > > > >The information contained in this electronic message and any attachments >to this message are intended > >for the exclusive use of the addressee(s) and may contain confidential >or privileged information. If > >you are not the intended recipient, please notify the sender at Wipro or >[EMAIL PROTECTED] immediately > >and destroy all copies of this message and any attachments. > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > >Confidentiality Notice > >The information contained in this electronic message and any attachments >to >this message are intended >for the exclusive use of the addressee(s) and may contain confidential >or >privileged information. If >you are not the intended recipient, please notify the sender at Wipro or >[EMAIL PROTECTED] immediately >and destroy all copies of this message and any attachments. > >--------------------------------------------------------------------- >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] > > >--------------------------------------------------------------------- >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]