Domanda

Sto cercando di scrivere alcuni messaggi di prova o alcuni contenuti di testo da archiviare tramite Java nel framework di OFbiz.Se il file ha già il contenuto, i messaggi recenti devono aggiungere in fondo al file.

In breve, voglio una funzionalità come Debug.log in Ofiz.Come scrive tutto a Debug.log File, voglio un file separato per scrivere i miei messaggi di testo.

Ho provato questo,

File file = new File("/applications/party/webapp/partymgr/test.txt");
if (!file.exists()) {
 try {
  file.createNewFile();
  FileWriter fw = new FileWriter(file.getAbsoluteFile());
  BufferedWriter bw = new BufferedWriter(fw);
  Debug.logInfo("writing...........", module);
  bw.write("this is first line in file");
  bw.close();
 } catch (IOException e) {
  e.printStackTrace();
 }
}
.

Ma sta lanciando FileNotFoundException.
Come, non sono esperto in Ofiz, non sono sicuro del percorso del file.Se il percorso del file è il problema, ti preghiamo di suggerirmi la soluzione.

È stato utile?

Soluzione

È possibile utilizzare il registratore per registrare il messaggio.

Logger logger = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME);
        logger.setLevel(Level.INFO);
        try {
            FileHandler fileTxt = new FileHandler("/root/apache-ofbiz/applications/party/webapp/partymgr/test.txt",true);

            SimpleFormatter formatterTxt = new SimpleFormatter();
            fileTxt.setFormatter(formatterTxt);
            logger.addHandler(fileTxt);

            logger.log(Level.INFO,"this is first line in file");

    } catch (SecurityException e) {
    } catch (IOException e) {
    }
.

Non dimenticare di menzionare il percorso del file assoluto.Ex: /root/apache-ofbiz/applications/party/webapp/partymgr/test.txt

o

Ottieni il percorso relativo dal componente

 filepath = ComponentConfig.getRootLocation("party")+"webapp/log/test.txt";
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top