0
Dic 26 2013

C++ Logger

Ultimamente non stavo più andando avanti con progetti di programmazione, ma, riprendendo, ho sentito la necessità di fare un buon sistema di logging basato sugli stream di C++.

In passato avevo già affrontato l’argomento, ma questa è stata una sfida per vedere se riuscivo a fare tutto da capo e da solo. Ce l’ho fatta, così ho deciso di pubblicare qui i risultati.

Come requisiti ho tenuto in mente la versatilità e la sicurezza per l’uso con i thread.

La versatilità l’ho ottenuta mediante la divisione per modulo (per esempio networking, audio etc…) e livello (errore, informazione…). A coordinare tutto c’è il Log Manager, una classe che coordina i vari log. È un singleton (ottenuto tramite la mia classe allegata), e ritorna degli stream, uno per ogni coppia modulo-livello (che insieme fanno il LogId), assicurandosi che queste istanze siano uniche. Inoltre dispone di una funzione per mandare direttamente in output una stringa, dove in più si può specificare anche il file e la linea, magari usando le macro __FILE__ e __LINE__.

Ho pensato come vari output lo standard output e error, in più un file e un’eventuale consolle interna al programma, configurabili per ogni log, con… [Leggi il resto...]

0
Dic 08 2013

Ulteriore, deludente sperimentazione sul DSL-504T

Ultimamente non ho molto tempo da dedicare ai miei progetti perché sono stato assorbito da altre attività. Il miller è fermo ormai da inizio novembre, anche se spero in dei progressi durante le festività, e dei progetti a computer non ne parliamo neanche. L’unica cosa cui ho dedicato un po’ di tempo domenica scorsa e un po’ ieri, è stato cercare di riciclare il DSL-504T di cui avevo già parlato per usarlo almeno come router insieme all’altro che ho.

Il mio chiodo fisso è quello di avere un ruoter con l’ottimo firmware libero OpenWRT per godere di funzionalità altrimenti possibili solo con router di livelli più alti. Tra queste ci sono IPv6, supportato nativamente dal mio provider, ma anche DNS interni, configurazioni avanzate di ogni servizio dovute all’accesso completo al router.

Tempo fa avevo già cercato di usarlo autonomamente, sfruttando quindi il modem ATM incluso nel dispositivo, senza tuttavia avere successo. Forse perché, come ho scoperto solo ieri, le informazioni del wiki di OpenWRT si applicano solo alla seconda generazione del 504T, la revisione C, mentre il mio è una versione A1.

In ogni caso, avevo abbandonato quest’idea in favore dell’uso del… [Leggi il resto...]