Interesting. The only difference with my setting is that I am using SLF4J and JDK 7. Could SLF4J change classpath?
Suriyanto On Sat, Apr 20, 2013 at 9:25 AM, Tony Trinh <[email protected]> wrote: > I'm not sure why that quick test (using the "file" attribute, and running > the jar from the same directory as log.properties) did not work for you. It > worked for me in OSX Mountain Lion and JDK 6. The PropertyAction [1] passes > the "file" attribute's value directly to FileInputStream [2], which uses > File [3]. The Oracle javadocs should provide more details. > > It turns out the "resource" attribute should also work in this case (I've > confirmed on my machine). This uses ClassLoader.getResource(), whose search > order is defined by [4]. You need to include the directory of > log.properties in the jar's classpath either by command-line or from the > jar's manifest [5][6]. > > [1] > https://github.com/qos-ch/logback/blob/master/logback-core/src/main/java/ch/qos/logback/core/joran/action/PropertyAction.java#L72 > [2] http://docs.oracle.com/javase/6/docs/api/java/io/FileInputStream.html > [3] http://docs.oracle.com/javase/6/docs/api/java/io/File.html > [4] > http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ClassLoader.html#getResource%28java.lang.String%29 > [5] > http://stackoverflow.com/questions/9532716/adding-the-current-directory-to-a-jar-files-classpath > [6] > http://stackoverflow.com/questions/4126030/executable-jar-wont-find-the-properties-files > > > On Sat, Apr 20, 2013 at 12:08 AM, Suriyanto <[email protected]> wrote: > >> Thanks again, Tony. >> >> Yes, if I use absolute path, it will work. However I want to use the >> relative path so the user can put the jar and properties file anywhere as >> long as they are put in the same directory. >> >> I tried to cd to dir and run from there, but logback still tells me that >> it cannot find the properties file. Is there a way for me to know what the >> absolute mapping that logback use when I provide a relative path? >> >> Thanks. >> >> >> On Fri, Apr 19, 2013 at 9:15 PM, Tony Trinh <[email protected]> wrote: >> >>> Ok. The file-lookup is relative to your current working directory >>> (unless you use absolute paths). You can confirm by cd'ing into /dir and >>> then invoking your jar. >>> >>> An alternative is to use an absolute path to a designated "data" >>> directory (with environment variables). For example: >>> >>> <property file="${HOME}/.myapp/log.properties" /> >>> <property file="${APPDATA}/.myapp/log.properties" /> >>> <property file="${PROGRAMFILES}/MyApp/log.properties" /> >>> >>> >>> >>> >>> On Fri, Apr 19, 2013 at 9:22 PM, Suriyanto <[email protected]> wrote: >>> >>>> Thanks for answering. >>>> >>>> I actually wanted to put the file outside the jar so the user can >>>> easily modify it for any of their environment. The file will be on the same >>>> directory as the jar file. >>>> >>>> /dir >>>> myapp.jar >>>> log.properties >>>> >>>> Suriyanto >>>> >>>> >>>> On Fri, Apr 19, 2013 at 7:00 PM, Tony Trinh <[email protected]> wrote: >>>> >>>>> If the file is in your JAR, you should be using the "resource" >>>>> attribute instead of "file" (which searches your host filesystem). >>>>> >>>>> <property resource="log.properties" /> >>>>> >>>>> >>>>> On Fri, Apr 19, 2013 at 8:39 PM, Suriyanto <[email protected]>wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> I am following the instruction in the Logback manual to use an >>>>>> external property file. >>>>>> >>>>>> <property file="log.properties" /> >>>>>> >>>>>> I have log.properties file in the same directory as my executable jar >>>>>> file, which are created as an uber jar file from Maven plugin. >>>>>> >>>>>> However, I keep getting the error: ERROR in >>>>>> ch.qos.logback.core.joran.action.PropertyAction - Could not find >>>>>> properties >>>>>> file [log.properties]. >>>>>> >>>>>> Am I putting the file in the correct directory? >>>>>> >>>>>> Thanks, >>>>>> Suriyanto >>>>>> >>>>>> _______________________________________________ >>>>>> Logback-user mailing list >>>>>> [email protected] >>>>>> http://mailman.qos.ch/mailman/listinfo/logback-user >>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Logback-user mailing list >>>>> [email protected] >>>>> http://mailman.qos.ch/mailman/listinfo/logback-user >>>>> >>>> >>>> >>>> _______________________________________________ >>>> Logback-user mailing list >>>> [email protected] >>>> http://mailman.qos.ch/mailman/listinfo/logback-user >>>> >>> >>> >>> _______________________________________________ >>> Logback-user mailing list >>> [email protected] >>> http://mailman.qos.ch/mailman/listinfo/logback-user >>> >> >> >> _______________________________________________ >> Logback-user mailing list >> [email protected] >> http://mailman.qos.ch/mailman/listinfo/logback-user >> > > > _______________________________________________ > Logback-user mailing list > [email protected] > http://mailman.qos.ch/mailman/listinfo/logback-user >
_______________________________________________ Logback-user mailing list [email protected] http://mailman.qos.ch/mailman/listinfo/logback-user
