Salve,

ho realizzato una semplice applicazione di test per Log4J facendo in modo che il file di log andasse in una cartella apposita creata da Log4J stesso, ovvero log/events.log
Tutto ok. Il problema è che se metto la stessa identica classe in un altro package non mi è più possibile reindirazzare l'output nella cartella log a meno che non creo preventivamente la cartella log. La cosa più sconvolgente è che io non cambio niente, copio la classe MyLog4J.java ed il file log4j.properties nel nuovo progetto di Eclipse.
Uso linux, ho controllato anche i permessi, ma sono identici in entrambi i package.

Ecco la mia classe MyLog4J.java
Codice PHP:
import org.apache.log4j.*;

public class 
MyLog4J {

    public static 
void main(String[] args) {
        
// Carico il file di configurazione
        
PropertyConfigurator.configure("log4j.properties");
        
        
// Ottengo l'istanza del log
        
Logger log Logger.getLogger("MyLog4J.class");
        
        
log.debug("DEBUG");
                [...]
    }


Il file log4j.properties:
Codice PHP:
#LOGGER
log4j.rootCategory=DEBUGAPPENDER_OUTAPPENDER_FILE

#APPENDER_OUT
log4j.appender.APPENDER_OUT=org.apache.log4j.ConsoleAppender
log4j
.appender.APPENDER_OUT.layout=org.apache.log4j.SimpleLayout

#APPENDER_FILE
log4j.appender.APPENDER_FILE=org.apache.log4j.FileAppender
log4j
.appender.APPENDER_FILE.File=log/events.log
log4j
.appender.APPENDER_FILE.layout=org.apache.log4j.SimpleLayout 
Grazie dell'attenzione,
Matteo.