Sto utilizzando il meraviglioso AnyEvent per la creazione di un server TCP asincrono (in particolare, un server MUD).Quale modulo di registrazione utilizzare in AnyEvent di Perl?
Per garantire il corretto funzionamento di tutto e con il minor numero possibile di codici di blocco/sincrono, ho sostituito alcuni moduli che stavo usando con la loro controparte asincrona, ad esempio AnyEvent::Memcached e AnyEvent::Gearman. Ciò consente al programma principale di essere abbastanza veloce, il che è desiderabile. Ho codificato la necessità che alcune di queste chiamate siano sincrone.
Un problema che attualmente ho e il focus di questa domanda è il logging.
Prima di passare a AnyEvent per questo programma server, stavo usando Log::Log4perl in quanto mi permette di mettere a punto quali moduli o subroutine devono essere registrati, a quale livello ea quale output di registro (schermo, file, ecc.).
Il problema qui è che le azioni di Log4perl (warn, info, ecc.) Sono attualmente eseguite in modo sincrono ma non ho alcun requisito per questo finché le righe di log finiscono per finire sullo schermo/file (e nell'ordine corretto).
Log: Log4perl è ancora la scelta giusta quando si utilizza un gestore di eventi asincroni come AnyEvent o devo guardare un modulo diverso? Se sì, quale è raccomandato?
Grazie per aver chiarito che un appender asincrono non sembra esistere – mfontani