2012-07-31 9 views
5

Sto cercando una funzionalità di registrazione per un'applicazione multiprocesso che contiene anche più thread con in ogni processo.Accesso a un'applicazione multiprocesso con multithreading

La mia applicazione corrente è solo multi-thread e utilizza ACE_Message_Queue per l'invio di eventi di registrazione al thread del logger (il messaggio Log effettivo è condiviso tra thread dell'applicazione e il thread del logger attraverso un array globale).

La mia nuova applicazione contiene più processi con più thread con in ogni processo. Come posso ottenere una funzionalità di registrazione decente in questo scenario? Anche cercando di sbarazzarsi di ACE a favore di Boost. La mia nuova applicazione dovrebbe funzionare su Linux, Mac e Windows.

Grazie in anticipo.

risposta

1

Boost.Log (v2) è molto facile da configurare e abbastanza completo. Non è ancora nella libreria boost ma lo sarà presto. Puoi usarlo come un semplice logger, o scrivere filtri e personalizzare il processo di registrazione e l'output. Lo sto usando per un progetto e ne sono molto felice. See this question.

+0

mia comprensione, sulla base delle discussioni boost.devel ml, è che Andrey ha smesso di sostenere la biblioteca. –

+0

Non la penso così. Hai qualche link? – perreal

+0

Mentre boost.log è bello (lo uso), è stato in uno stato di "essere incluso presto" per un tempo molto lungo. –

1

Prova a utilizzare log4cplus. È una libreria di registrazione aggiornata che consente l'utilizzo da più processi.