-
Notifications
You must be signed in to change notification settings - Fork 2
flag parse + log module + configuration file #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
flag parse, application can be started using some basic command line arguments:
log - specify amount of output log (text messages)
conf - path to a configuration file
configuration file,
function to load and parse configuration file
log module,
when log level is to hight application will panic
|
sto lavorando a questa pull request nel mio fork perche' lavorando al "supervisor" mi e' venuta un'idea: le parti comuni (log, configurazione, ecc.) dovrebbero essere in un repo "maponet/utils" a parte, cosi' possiamo riutilizzarli nelle varie applicazioni. Per usare questa struttura possiamo cambiare gli import cosi': e ristrutturare la nostra copia locale: tra poco vedrai queste modifiche in lento/mapo |
|
alcuni commenti sparsi:
Non perdere tempo su questi commenti, sono cose semplici che posso fare io nel mio fork e mandarti le modifiche. |
|
2013/1/31 Lorenzo Pierfederici notifications@github.com
una domanda. il supervisor? da quello che capisco è un altra applicazione, se è un'altra applicazione allora la struttura delle cartelle proposta mi $GOPATH secondo me questa ci porta ad avere:
per la cartella maponet, il discorso è: come ci organizziamo il codice? dimmi cosa ne hai in mente per il supervisor? cosi posso esprimere il mio
|
|
2013/1/31 Lorenzo Pierfederici notifications@github.com
gconf/conf è una libreria per leggere è scrivere i file di configurazione.
tu hai proposto soltanto 3 liveli do log: INFO, ERROR e DEBUG ... che
sicuramente lo faro. tu usi qualche plugin per vim che gia fa questo
se la separazione dei branch che ho fatto per i primi due pull request può |
…l livello
del log viene cambiato da nul al valore passato nella riga di caomando, non
vengono visualizzati. Perché il logger, appunto, ha un valore indefinito. Per
risolvere questa situazione, impostiamo un valore di default 1 (INFO) nel
momento della dichiarazione del logger globale.
var l logger = logger{1}
La funzione SetLevel non risponde più con un panico nel momento in quale il
valore del log richiesto è fuori dalle limiti predefinite. Ma restituisce un
errore che permette all'applicazione di chiudere in una maniera meno stressante
per l'utente.
code.google.com/p/goconf
|
ho estratto log e l'ho inserito in maponet/utils.
In effetti non c'e' motivo per non rendere questi pacchetti go-gettable, anzi! Rende tutto piu' comodo. Quindi ho modificato la mia copia locale: e ho cambiato l'import path del pacchetto log in mapo.go (per ora solo nella mia copia locale): e faro' lo stesso con conf
c'e' una serie di plugin per vim inclusi nella distribuzione di go, basta aggiungere questo a .vimrc riguardo al settare il livello di log, dai un'occhiata a quello che ho fatto con numeri e stringhe, e a FlagLevel(), che nella mia copia locale di mapo uso cosi': Settare un livello di default non e' necessario, l.level di default e' 0 (log.ERROR, e questo tra l'altro e' il motivo per cui ho invertito l'ordine dei livelli rispetto alla tua versione e ho cominciato da ERROR a salire). |
ho diviso il codice in una seria di branch che però vengono uno dietro al altro ... in modo da mantenere più semplice i eventuali merge. vediamo se possiamo lavorare cosi o devo modificarli diversamente.