Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [JAVA] System.out

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

    [JAVA] System.out

    Buona sera,
    sto utilizzando un qualcosa (log4J) che mi scrive sulla console di java in un modo a me nascosto (per intenderci non faccio System.out.println("xyz")).
    Come posso fare per catturare quello che sta per essere scritto, nel mio caso xyz?

    Ringrazio
    nh

  2. #2

    Re: [JAVA] System.out

    Originariamente inviato da newhook
    Buona sera,
    sto utilizzando un qualcosa (log4J) che mi scrive sulla console di java in un modo a me nascosto (per intenderci non faccio System.out.println("xyz")).
    Come posso fare per catturare quello che sta per essere scritto, nel mio caso xyz?

    Ringrazio
    nh
    La tua domanda non è chiara....puoi spiegarti meglio?
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347
    una certa libreria (nel mio caso log4j), scrive a video determinate cose (immagino che farà un System.out.println("ciao")).

    Avrei bisogno di catturare quello che scrive in una string.
    Quindi vorrei catturare in una stringa il valore "ciao" che è stato stampato a video.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da newhook
    una certa libreria (nel mio caso log4j), scrive a video determinate cose (immagino che farà un System.out.println("ciao")).

    Avrei bisogno di catturare quello che scrive in una string.
    Quindi vorrei catturare in una stringa il valore "ciao" che è stato stampato a video.
    Se si tratta solo di Log4J, usa un apposito "appender" (lo puoi implementare tu o magari sfrutti un appender già esistente come es. il WriterAppender), lo configuri e puoi ottenere i log.

    Se invece si tratta in generale, di qualunque output sul System.out (o .err), devi "redirezionare" gli stream. Cerca "System setOut" sul forum.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Originariamente inviato da newhook
    una certa libreria (nel mio caso log4j), scrive a video determinate cose (immagino che farà un System.out.println("ciao")).

    Avrei bisogno di catturare quello che scrive in una string.
    Quindi vorrei catturare in una stringa il valore "ciao" che è stato stampato a video.
    Il problema è che non ci trovo un senso. Quando tu usi la log4j a un certo punto in una data sezione di codice fai una cosa del tipo
    codice:
    logger.debug("ciao");
    ma nessuno ti vieta di fare
    codice:
    String s = "ciao";
    logger.debug(s);
    Se poi parli di ottenere l'output di log4j su un file o su database allora devi solo configurare il giusto appender nel log4j.properties
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347
    si andbin, parlo in generale...(log4j è il mio specifico)
    Ok per il redirezionamento ma lo dovrei redizionare in una stringa...come faccio? devo creare un PrintStream Personalizzato?

    se era in un file era ok...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347
    risolto!
    ne avevamo già parlato del redirezionamento, me ne ero dimenticato.
    - ByteArrayOutputStream outstream = new ByteArrayOutputStream();
    - PrintStream printStream = new PrintStream(outstream);
    - System.setOut(printStream);
    - ed inizializzo appender (consoleAppender)

    outstream.toString()

    thanx

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.