title: How do I configure Log4j to read my properties file?
body: <p>I am sending an SMS using <code>SMSLib</code> in Java.  I have loaded the log4j jar file and placed the <code>log4j.properties</code> file in the right place, but it still can't read it and gets the below exception:</p>
  
  <p>Exception text:</p>
  
  <blockquote>
    <p>log4j:ERROR Could not read configuration file [log4j.properties].
        java.io.FileNotFoundException: log4j.properties (Le fichier spécifié est introuvable)
            at java.io.FileInputStream.open(Native Method)
            at java.io.FileInputStream.(FileInputStream.java:138)
            at java.io.FileInputStream.(FileInputStream.java:97)
            at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:372)
            at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:403)
            at org.smslib.helper.Logger.(Logger.java:50)
            at org.smslib.helper.Logger.(Logger.java:29)
            at org.smslib.Service.listSystemInformation(Service.java:113)
            at org.smslib.Service.initializeService(Service.java:103)
            at org.smslib.Service.(Service.java:95)
            at org.smslib.Service.(Service.java:90)
            at laposte.EnvoiSMS.(EnvoiSMS.java:181)
            at laposte.login.passwordKeyPressed(login.java:230)
            at laposte.login.access$100(login.java:26)
            at laposte.login$2.keyPressed(login.java:80)
            at java.awt.Component.processKeyEvent(Component.java:6463)
            at javax.swing.JComponent.processKeyEvent(JComponent.java:2829)
            at java.awt.Component.processEvent(Component.java:6282)
            at java.awt.Container.processEvent(Container.java:2229)
            at java.awt.Component.dispatchEventImpl(Component.java:4861)
            at java.awt.Container.dispatchEventImpl(Container.java:2287)
            at java.awt.Component.dispatchEvent(Component.java:4687)
            at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1895)
            at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:762)
            at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1027)
            at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:899)
            at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:727)
            at java.awt.Component.dispatchEventImpl(Component.java:4731)
            at java.awt.Container.dispatchEventImpl(Container.java:2287)
            at java.awt.Window.dispatchEventImpl(Window.java:2719)
            at java.awt.Component.dispatchEvent(Component.java:4687)
            at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
            at java.awt.EventQueue.access$200(EventQueue.java:103)
            at java.awt.EventQueue$3.run(EventQueue.java:688)
            at java.awt.EventQueue$3.run(EventQueue.java:686)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
            at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
            at java.awt.EventQueue$4.run(EventQueue.java:702)
            at java.awt.EventQueue$4.run(EventQueue.java:700)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
        log4j:ERROR Ignoring configuration file [log4j.properties].
        log4j:WARN No appenders could be found for logger (smslib).
        log4j:WARN Please initialize the log4j system properly.
        log4j:WARN See <a href="http://logging.apache.org/log4j/1.2/faq.html#noconfig" rel="noreferrer">http://logging.apache.org/log4j/1.2/faq.html#noconfig</a> for more info.</p>
  </blockquote>