Log4j2 implementazione

di il
33 risposte

33 Risposte - Pagina 3

  • Re: Log4j2 implementazione

    Ho dovuto rimuovere dal mio web.xml tutti i tag <display-name> sulle dichiarazioni delle servlet, ma ora funziona!
    Ho modificato come segue il mio codice, in modo da non tracciare tutto lo stack trace dell'eccezione, ma soltanto il messaggio generico, per me più che sufficiente.
    <c:catch var="myException1">
    <%
    	u = new URL(path);
    	in = new BufferedReader(
    	new InputStreamReader(
    	u.openStream()));
    %>
    	</c:catch>
    	<c:if test="${myException1 != null}">
        	<log:info message="${myException1}" />
    	</c:if>
    <%
    
    Secondo te posso usarlo anche per loggare il valore di StringBuilder sb? Oppure altre variabili della mia web-app?
  • Re: Log4j2 implementazione

    fulviot66 ha scritto:


    Ho dovuto rimuovere dal mio web.xml tutti i tag <display-name> sulle dichiarazioni delle servlet, ma ora funziona!
    Mi pare strano che fosse solo per il <display-name>. Questo tag si usa a diversi livelli ma è del tutto opzionale e serve solo per quei tool GUI che "presentano" in modo visuale il web.xml.

    fulviot66 ha scritto:


    Ho modificato come segue il mio codice, in modo da non tracciare tutto lo stack trace dell'eccezione, ma soltanto il messaggio generico, per me più che sufficiente.
    A dire il vero, una eccezione generalmente si logga a livello ERROR, non INFO.

    Se basta solo il messaggio, senza stacktrace, allora è sufficiente usare:

    <log:error message="${myException1.message}" />

    fulviot66 ha scritto:


    Secondo te posso usarlo anche per loggare il valore di StringBuilder sb? Oppure altre variabili della mia web-app?
    Nì (sì e no). Allora: i custom tag lavorano con variabili nei vari scope (page, request, session, application). Le variabili che definisci nello scriptlet Java tra <% %> sono solo variabili locali nel codice Java e null'altro. Di per sé non sono in nessuno dei 4 scope.

    Se hai già una variabile locale nello scriptlet la puoi mettere esplicitamente nel page scope. Nota: sono un po' "arruginito" su queste cose ... dovrei andare a riprendere il mano il libro della SCWCD !
  • Re: Log4j2 implementazione

    Mi rimane ancora da capire perché l'indirizzo IP, di cui abbiamo parlato qualche pagina fa, a volte viene tracciato, altre volte no. Addirittura durante il refresh della stessa home, ottengo:
    
    2020-07-28 14:56:07.854  ERROR [http-bio-8080-exec-10]: org.apache.jsp.include.includeMnt_jsp:416 - java.io.FileNotFoundException: O:\Sito\ftproot\artfromitaly\Styles\flexslider.txt (Impossibile trovare il file specificato)
    2020-07-28 14:56:37.443  ERROR [http-bio-8080-exec-9]: org.apache.jsp.include.includeMnt_jsp:416 - java.io.FileNotFoundException: O:\Sito\ftproot\artfromitaly\Styles\afiweb.txt (Impossibile trovare il file specificato)
    2020-07-28 14:56:37.472  ERROR [http-bio-8080-exec-9]: org.apache.jsp.include.includeMnt_jsp:416 - java.io.FileNotFoundException: O:\Sito\ftproot\artfromitaly\Images\logo.txt (Impossibile trovare il file specificato)
    2020-07-28 14:56:37.629  ERROR [http-bio-8080-exec-9]: org.apache.jsp.include.includeMnt_jsp:416 - java.io.FileNotFoundException: O:\Sito\ftproot\artfromitaly\Styles\flexslider.txt (Impossibile trovare il file specificato)
    2020-07-28 14:56:53.290 [IP: 0:0:0:0:0:0:0:1] ERROR [http-bio-8080-exec-7]: org.apache.jsp.include.includeMnt_jsp:416 - java.io.FileNotFoundException: O:\Sito\ftproot\artfromitaly\Styles\afiweb.txt (Impossibile trovare il file specificato)
    2020-07-28 14:56:53.330 [IP: 0:0:0:0:0:0:0:1] ERROR [http-bio-8080-exec-7]: org.apache.jsp.include.includeMnt_jsp:416 - java.io.FileNotFoundException: O:\Sito\ftproot\artfromitaly\Images\logo.txt (Impossibile trovare il file specificato)
    2020-07-28 14:56:53.672 [IP: 127.0.0.1] ERROR [http-bio-8080-exec-1]: org.apache.jsp.include.includeMnt_jsp:416 - java.io.FileNotFoundException: O:\Sito\ftproot\artfromitaly\Styles\afiweb.txt (Impossibile trovare il file specificato)
    2020-07-28 14:56:53.720 [IP: 127.0.0.1] ERROR [http-bio-8080-exec-1]: org.apache.jsp.include.includeMnt_jsp:416 - java.io.FileNotFoundException: O:\Sito\ftproot\artfromitaly\Images\logo.txt (Impossibile trovare il file specificato)
    
    Dove si vede chiaramente che dopo il timestamp dovrebbe esserci l'indirizzo IP, catturato attraverso un filtro per tutte le chiamate e passato alla variabile logData, esposta nel log4j2.xml.
    Potrebbe dipendere da Tomcat?
  • Re: Log4j2 implementazione

    fulviot66 ha scritto:


    Mi rimane ancora da capire perché l'indirizzo IP, di cui abbiamo parlato qualche pagina fa, a volte viene tracciato, altre volte no. Addirittura durante il refresh della stessa home, ottengo:

    Dove si vede chiaramente che dopo il timestamp dovrebbe esserci l'indirizzo IP, catturato attraverso un filtro per tutte le chiamate e passato alla variabile logData, esposta nel log4j2.xml.
    Rimostra: a) il codice del doFilter() ; b) la dichiarazione del filter nel web.xml
    Inoltre descrivi la catena dei passaggi che avvengono lato server. A fronte di una request dal browser, chi la gestisce in prima battuta? cosa fa? cosa include o a cosa fa eventualmente un forward?

    fulviot66 ha scritto:


    Potrebbe dipendere da Tomcat?
    Quasi certamente no.
Devi accedere o registrarti per scrivere nel forum
33 risposte