Sto costruendo un'app desktop con un front-end Java e librerie Fortran estremamente performanti. Recentemente abbiamo iniziato a spingere più del nostro codice da Java e in Fortran (vedi sotto)
Presto avremo probabilmente moduli in SCALA (usando il sistema di calcolo distribuito di akka.io o JPPF).
Mi sto chiedendo cosa posso fare per cercare di garantire log sane, consolidate, formattate correttamente. In questo momento il nostro front-end java piuttosto esteso utilizza java.util.logging
(JUL). Siccome sono sicuro che molti di voi hanno anche avuto a che fare, fare il bootstrap della nostra configurazione di logger è già un processo più complesso di quanto vorrei, ed è privo di test automatizzati.
I nostri binari Fortran, come per il comportamento predefinito delle librerie Intel Fortran, mormorano di tanto in tanto cose standard, che vengono semplicemente dimenticate quando il nostro codice viene distribuito. Mi piacerebbe molto che le cose si presentassero nello stesso formato che avrebbe una chiamata% JUL%.
Come faccio ad andare in giro con la registrazione poliglotta, in modo che io possa catturare gli avvertimenti / errori emessi da codice non JUL e / o non JVM, e comunque portarlo in un file che è ben formattato.
re: Fortran? davvero!?
-
questo è un linguaggio di programmazione morto! sei pazzo !!
- l'ultima versione di fortran è il 2015, con intel che rilascia una nuova versione nel 2018. Grazie alla sua natura C-binding si lega a JNA / JNI con la stessa facilità del codice nativo.
-
ma perché hai bisogno di prestazioni, l'ottimizzazione prematura è la radice di tutti i mali!
- ben consapevoli, ma sì, dopo aver passato un bel po 'di tempo ad ottimizzare il nostro codice Java e seguire le librerie più veloci che potevamo, un'algebra lineare di base non era ancora notevolmente più lenta in java che in fortran, e alcune operazioni sono semplicemente disponibile tramite MKL di intel