Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [JAVA log4j]

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347

    [JAVA log4j]

    buon pomeriggio,
    sto utilizzando log4j e ho un problema nel file di configurazione.
    Utilizzando la proprietà log4j.appender.APPENDER_FILE.File si deve mettere un file assoluto (quindi c:/prova.log).
    L'applicazion che usa log4j gira sotto un Server Web e quindi avrei la necessità di inserire un percolrso relativo (possibilment WEB-INF/log/prova.log).
    Come posso senza modificare nulla in runtime?
    grazie per l'attnzione
    nh

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA log4j]

    Originariamente inviato da newhook
    avrei la necessità di inserire un percolrso relativo (possibilment WEB-INF/log/prova.log).
    Come posso senza modificare nulla in runtime?
    Mettere un path proprio "relativo" no, nel senso che sarebbe relativo alla directory "corrente" e quale è .... potresti saperlo o non saperlo (dipende quanto controllo/conoscenza hai sul servlet container).
    Puoi mettere un path che usa una system property es. ....=${qualcosa}WEB-INF/....

    Se conosci una system property settata dall'esterno (da chi avvia il container) o dal container stesso che ti va bene (anche con un path più "sopra"), ok. Altrimenti potresti usare un ServletContextListener, "ascoltare" quando il context viene inizializzato quindi ricavare il path del context root e settarlo in una system property.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347
    speravo in ${qualcosa}WEB-INF/ dove qualcosa potesse sembre andare bene
    sto lavorando da runtime, mi sembra più semplice e da li mi creo il RollingFileAppender con i paramtri presi dal properties...
    thanx

  4. #4
    Devi aggiungere una riga del tipo

    codice:
    log4j.appender.fileGenerale.File=C:/DIR/${Log4jLogFile}/${Log4jLogFile}.log
    o come ti pare perche quel $ ecc. lo decidi te.

    Infatti quando inizializzi il log4j devi aggiungere

    codice:
    URL log4jPropFile = Loader.getResource(path al log4j.properties);
    System.setProperty("Log4jLogFile", tuaStringa);
    PropertyConfigurator.configure(log4jPropFile);
    Puoi aggiungerne quante variabili vuoi.

    A questo punto log4j scriverà il nome del file o la path come vuoi.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.