Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Log4j - istanziare un log per ogni oggetto

    Sto provando da un po la libreria log4j per il logger e mi chiedo ma se io volessi istanziare un logger differente per ogni oggetto come posso fare?

    Ad esempio:
    Creare vari oggetti "book" tutti con dati diversi, ogni oggetto ha il proprio log e ha salvato in esso il valore dei propri dati in questo modo:

    codice:
    log.info( "id: " + id );
    log.info( "titolo: " + titolo );
    Quello che mi piacerebbe fare è il seguente, non mostrare tutto il log alla console fin quando viene chiamato un log.error(); in quell'oggetto.
    Se per un determinato oggetto log non verrà mai invocato il metodo error(); il log verrà distrutto.

    mamma mia!! spero di essermi spiegato bene per lo meno...
    Uso male il logger?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da cataDesign Visualizza il messaggio
    Uso male il logger?
    Un po' in tutte le (poche) librerie di logging c'è sempre un oggetto che fa da "logger". Per Log4j si chiama org.apache.log4j.Logger ed ha associato un name che di norma è lo stesso nome della classe. L'uso tipico consiste nel tenere un campo statico in una classe così:

    codice:
    public class MyClass {
        private static final Logger logger = Logger.getLogger(MyClass.class);
    
        ......
    }
    Se non è questo che intendi fare, spiega meglio e soprattutto, perché.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Quello che vorrei fare io è tracciare i dati membro di ogni oggetto e visualizzarli in caso di errore così da capire meglio un eventuale problema.
    La soluzione che proponi tu è ottima il problema che mi stampa tutti i log pure quel provenienti da altre classi Boh

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da cataDesign Visualizza il messaggio
    il problema che mi stampa tutti i log pure quel provenienti da altre classi Boh
    Tutto il log fatto su qualunque Logger va comunque a log4j .... è poi log4j che può filtrare/smistare i log in base all'evento di log che contiene livello, nome del logger e quant'altro. In base chiaramente al contenuto del file di configurazione di log4j.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Come faccio a configurare log 4j in modo da smistare i log in base ad ogni oggetto e quindi fare quello che ho detto prima?

  6. #6
    Uppete

Tag per questa discussione

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.