SkarkLoggerBundle

19 views
Skip to first unread message

Shark

unread,
Nov 14, 2012, 10:49:43 AM11/14/12
to pug-...@googlegroups.com
Salve a tutti ragazzi, 
volevo sottoporre alla vostra attenzione un bundle che ho da poco pubblicato: SkarkLoggerBundle

La funzionalità viene attivata semplicemente impostando un option nel form (loggable: true) grazie alla quale il sistema logga tutti i form con l'opzione attiva in un file nominato con il nome del form stesso.
Nel file di log è possibile trovare una chiave di contesto utente (per riconoscere la sessione utente nell'ambito della quale il form è stato inviato), il campo del form, il dato "submittato" e gli eventuali errori generati.

Trovate più informazioni su

Se per voi può essere interessante ad uno di questi pug-incontri posso parlarvene e magari vi posso far vedere i meccanismi che ho attuato per generare il sistema di logging sui form.

Ps se vi piace potete twittarlo a manetta :)

alessandro cinelli

unread,
Nov 14, 2012, 10:56:15 AM11/14/12
to pug-roma
Congrats!

no PUGX?

cirpo

2012/11/14 Shark <shar...@gmail.com>:
> --
> Gruppo "PUG Roma" di Google Gruppi.
> https://groups.google.com/forum/#!forum/pug-roma
> http://roma.grusp.org



--
@cirpo

Shark

unread,
Nov 14, 2012, 11:07:32 AM11/14/12
to pug-...@googlegroups.com
Ieri ho pubblicato su PUGX un altro bundle: extraValidatorBundle.
per il momento c'è un validatore di range di date, tra poco inizierò a caricare altri validatori :)

leonardo proietti

unread,
Nov 14, 2012, 11:42:48 AM11/14/12
to pug-...@googlegroups.com
mo lo forkiamo vero shark? :-)

Shark

unread,
Nov 14, 2012, 12:01:23 PM11/14/12
to pug-...@googlegroups.com, leonardo...@gmail.com
leo, provalo così mi fai sapere che ne pensi ;)

Antonio Carella

unread,
Nov 14, 2012, 1:47:27 PM11/14/12
to pug-...@googlegroups.com
ebbravo shark.
Antonino Carella 
Web Developer
                                                                                  


VIA DOMENICO CUCCHIARI 46
00159 ROMA ( RM )

TEL 328.069.303.9
IVA 02341050819
C.F. CRLNNN78E02C286L

Sito web   |   LinkedIn   |   Twitter   |  Skype aczepod 



Alessandro Nadalin

unread,
Nov 18, 2012, 12:01:41 AM11/18/12
to pug-...@googlegroups.com
ho dato un'occhiata veloce, ma questo logga solo gli errori dell'utente o tutto quello che submitta?


2012/11/14 leonardo proietti <leonardo...@gmail.com>

Andrea Giuliano

unread,
Nov 18, 2012, 4:40:07 AM11/18/12
to pug-...@googlegroups.com
Per il momento logga tutto, nella prossima release sará possibile scegliere se loggare solo i form in errore ma comunque loggherebbe tutti i campi perche magari l'errore di un campo potrebbe essere dato dalla combinazione errata di piu campi settati correttamente.

Shark

David Funaro

unread,
Nov 18, 2012, 4:51:03 AM11/18/12
to pug-...@googlegroups.com

2012/11/18 Andrea Giuliano <shar...@gmail.com>

Per il momento logga tutto, nella prossima release sará possibile scegliere se loggare solo i form in errore ma comunque loggherebbe tutti i campi perche magari l'errore di un campo potrebbe essere dato dalla combinazione errata di piu campi settati correttamente.


la butto lì ... immagina un codice fiscale (chissà come mai ho la risposta pronta :D )
 
Shark
-- 
--------------------------------------
davidino
http://davidfunaro.com
http://about.me/david.funaro
ing.da...@gmail.com
--------------------------------------

Alessandro Nadalin

unread,
Nov 18, 2012, 5:39:01 AM11/18/12
to pug-...@googlegroups.com



2012/11/18 David Funaro <ing.da...@gmail.com>


2012/11/18 Andrea Giuliano <shar...@gmail.com>
Per il momento logga tutto, nella prossima release sará possibile scegliere se loggare solo i form in errore ma comunque loggherebbe tutti i campi perche magari l'errore di un campo potrebbe essere dato dalla combinazione errata di piu campi settati correttamente.


la butto lì ... immagina un codice fiscale (chissà come mai ho la risposta pronta :D )

Il problema e' che a quanto vedo utilizza addError per loggare, secondo me ti conviene definire il log level da configurazione, dato che gli "errori" sui form non saranno trattati come errori veri dell'applicazione 

Andrea Giuliano

unread,
Nov 18, 2012, 6:12:38 AM11/18/12
to pug-...@googlegroups.com
AddError è utilizzato solo nei test per testare che effettivamente un form (field) che ha un errore, viene loggato esattamente come ci si aspetta.
Il logger controlla gli errori di ogni field di un form e li logge, eventualmente con essi.
--
Andrea Giuliano

Alessandro Nadalin

unread,
Nov 18, 2012, 6:14:02 AM11/18/12
to pug-...@googlegroups.com

2012/11/18 Andrea Giuliano <shar...@gmail.com>

AddError è utilizzato solo nei test per testare che effettivamente un form (field) che ha un errore, viene loggato esattamente come ci si aspetta.
Il logger controlla gli errori di ogni field di un form e li logge, eventualmente con essi.

link? mi sa che mi sono perso il codice

Andrea Giuliano

unread,
Nov 18, 2012, 6:21:43 AM11/18/12
to pug-...@googlegroups.com
Questo è il test che ovviamente, per essere unitario, crea un form, ci "attacca" a mano un errore, e vede se viene loggato:

Questo è il logge vero e proprio, che logge il form:

C'è ancora qualche lavoro di fino da fare…ma vedrò di includerli nei prossimi commit :)
--
Andrea Giuliano

Alessandro Nadalin

unread,
Nov 18, 2012, 6:30:25 AM11/18/12
to pug-...@googlegroups.com
Ah ecco, quindi il logging sta in generateLog: come pensavo il problema e' che non hai la possibilita' di modificare il logger o l'handler, o mi son perso qualcosa?


2012/11/18 Andrea Giuliano <shar...@gmail.com>

Andrea Giuliano

unread,
Nov 18, 2012, 6:48:27 AM11/18/12
to pug-...@googlegroups.com
L'handler è quello di symfony. Il logger puoi modificarlo, ovviamente non puoi estenderlo per personalizzazioni perchè l'event dispatcher di Symfony chiama proprio la classe quindi "se ne frega" dell'ereditarietà. 
Ma scusa, cosa potresti voler modificare? 


--
Andrea Giuliano

Alessandro Nadalin

unread,
Nov 18, 2012, 6:50:15 AM11/18/12
to pug-...@googlegroups.com

2012/11/18 Andrea Giuliano <shar...@gmail.com>

L'handler è quello di symfony. Il logger puoi modificarlo, ovviamente non puoi estenderlo per personalizzazioni perchè l'event dispatcher di Symfony chiama proprio la classe quindi "se ne frega" dell'ereditarietà. 
Ma scusa, cosa potresti voler modificare? 


severity dei log e dove vengono persistiti, graylog|new relic|fs|db|stderr|firephp

Andrea Giuliano

unread,
Nov 18, 2012, 6:54:04 AM11/18/12
to pug-...@googlegroups.com
Bene, ovviamente come dicevo prima è la prima release, se hai qualche idea puoi aprire qualche issue e magari gli fornisco tutti gli accessori ;)

--
Andrea Giuliano

leonardo proietti

unread,
Nov 18, 2012, 8:04:54 AM11/18/12
to pug-...@googlegroups.com
>Il logger puoi modificarlo, ovviamente non puoi estenderlo per personalizzazioni

al momento non mi sembra lo si possa modificare perchè nei servizi la classe non è parametrizzata.
nel caso lo potresti estendere:

shark.logger_subscriber.class = MyVendor\MyBundle\LoggerSubscriber extends Shark\FormLoggerBundle\Form\EventListener\LoggerSubscriber

>l'event dispatcher di Symfony chiama proprio la classe

mi sono perso, quale classe?

ciao
Leonardo

Andrea Giuliano

unread,
Nov 18, 2012, 9:42:54 AM11/18/12
to pug-...@googlegroups.com
> al momento non mi sembra lo si possa modificare perchè nei servizi la classe non è parametrizzata.nel caso lo potresti estendere:


shark.logger_subscriber.class = MyVendor\MyBundle\LoggerSubscriber extends Shark\FormLoggerBundle\Form\EventListener\LoggerSubscriber

Leo, non credo che di solito modifichi config.xml nella cartella vendor.

Ad ogni modo come dicevo prima, e citando "Make it right" di Kent Back, sottolineo ancora che è la prima release.
Il bundle fa quello per il quale è stato progettato: logggare i form che hanno l'opzione loggable a true in un file di log che si chiama con il nome del form.
Ovviamente può essere farcito di tutti i vari optional ma, come dicevo ad Alessandro, se ci sono caratteristiche che vi possono fortemente interessare, aprite pure una issue su github così ne discutiamo ;)
Ad ogni modo se lo provate in qualche progetto, sono ben lieto di sapere come vi siete trovati.
Thanks

Shark

Alessandro Nadalin

unread,
Nov 18, 2012, 9:45:26 AM11/18/12
to pug-...@googlegroups.com
2012/11/18 Andrea Giuliano <shar...@gmail.com>
> al momento non mi sembra lo si possa modificare perchè nei servizi la classe non è parametrizzata.nel caso lo potresti estendere:


shark.logger_subscriber.class = MyVendor\MyBundle\LoggerSubscriber extends Shark\FormLoggerBundle\Form\EventListener\LoggerSubscriber

Leo, non credo che di solito modifichi config.xml nella cartella vendor.

Ad ogni modo come dicevo prima, e citando "Make it right" di Kent Back, sottolineo ancora che è la prima release.
Il bundle fa quello per il quale è stato progettato: logggare i form che hanno l'opzione loggable a true in un file di log che si chiama con il nome del form.
Ovviamente può essere farcito di tutti i vari optional ma, come dicevo ad Alessandro, se ci sono caratteristiche che vi possono fortemente interessare, aprite pure una issue su github così ne discutiamo ;)
Ad ogni modo se lo provate in qualche progetto, sono ben lieto di sapere come vi siete trovati.

io non potrei manco provarlo cosi com'e' :-\

Andrea Giuliano

unread,
Nov 18, 2012, 9:46:33 AM11/18/12
to pug-...@googlegroups.com
Perché?

--
Andrea Giuliano

Alessandro Nadalin

unread,
Nov 18, 2012, 9:47:40 AM11/18/12
to pug-...@googlegroups.com

2012/11/18 Andrea Giuliano <shar...@gmail.com>
Perché?

non potrei settare severity dei log e dove vengono persistiti

Andrea Giuliano

unread,
Nov 18, 2012, 9:48:49 AM11/18/12
to pug-...@googlegroups.com
Allora ti avviso alla prox release ;)
--
Andrea Giuliano

David Funaro

unread,
Nov 18, 2012, 10:01:10 AM11/18/12
to pug-...@googlegroups.com
Io mi sono perso il punto. 

Ho capito che adesso che abbiamo la possibilità di estendere tutte le librerie e muoriamo dalla voglia di farlo.
Ma casomai discutiamo delle scelte fatte per l'implementazione. Ancora meglio potremmo discutere del fatto che funzioni o meno, se qualcuno ha individuato qualche caso limite in cui va tutto a puttane.

Si sta parlando di un bundle che nasce su una versione standard di symfony2, quindi strettamente legato a quello. Ci sarà il tempo ed il modo per rendere tutto configurabile.
Prima si fa funzionare per raggiungere l'obiettivo e poi si sistema no ?

Per aggiungere funzionalità si è sempre in tempo. Anche perché con fork o una PR passa la paura.


2012/11/18 Andrea Giuliano <shar...@gmail.com>

leonardo proietti

unread,
Nov 18, 2012, 1:33:29 PM11/18/12
to pug-...@googlegroups.com
>Leo, non credo che di solito modifichi config.xml nella cartella vendor.

e infatti :-)

>Ho capito che adesso che abbiamo la possibilità di estendere tutte le librerie e muoriamo dalla voglia di farlo.

si parlava solo di parametrizzare un paio di valori ;-)

>Ma casomai discutiamo delle scelte fatte per l'implementazione.

di questo con Shark ne ho parlato e chiedevo se non sia possibile lavorare con gli eventi
in modo da attaccare e staccare il logging per ogni form che implementa un'interfaccia
potendo quindi specializzare i comportamenti anche nel/nei listener

>Prima si fa funzionare per raggiungere l'obiettivo e poi si sistema no ?

assolutamente si :-)

ciao
Leonardo

Alessandro Nadalin

unread,
Nov 19, 2012, 1:28:38 AM11/19/12
to pug-...@googlegroups.com

2012/11/18 David Funaro <ing.da...@gmail.com>

Io mi sono perso il punto. 

Ho capito che adesso che abbiamo la possibilità di estendere tutte le librerie e muoriamo dalla voglia di farlo.
Ma casomai discutiamo delle scelte fatte per l'implementazione. Ancora meglio potremmo discutere del fatto che funzioni o meno, se qualcuno ha individuato qualche caso limite in cui va tutto a puttane.


In realta' come e' implementato e' gia' il caso limite: logghi su un file e non puoi vederlo da nessun'altra parte.

Normalmente questo tipo di dati servono a BI o per fare AB testing, per cui loggarli sul FS e' (molto) limitativo.

Antonio Carella

unread,
Nov 19, 2012, 2:39:53 AM11/19/12
to pug-...@googlegroups.com

Mi infilo nella discussione per chiedere se a qualcuno va di fare un tali sulla costruzione di bundle :)

--

Andrea Giuliano

unread,
Nov 19, 2012, 5:03:02 AM11/19/12
to pug-...@googlegroups.com
Io credo che un logger è un logger. Dove vorresti fossero storati i dati?

--
Andrea Giuliano

Alessandro Nadalin

unread,
Nov 19, 2012, 5:12:55 AM11/19/12
to pug-...@googlegroups.com



2012/11/19 Antonio Carella <antonio...@gmail.com>

Mi infilo nella discussione per chiedere se a qualcuno va di fare un tali sulla costruzione di bundle :)


Mi pare che Leo ne avesse fatto uno proprio su questo tema al sfday:

Massimiliano Arione

unread,
Nov 19, 2012, 5:23:21 AM11/19/12
to pug-...@googlegroups.com
Il giorno lunedì 19 novembre 2012 11:13:17 UTC+1, Alessandro Nadalin ha scritto:

2012/11/19 Antonio Carella <antonio...@gmail.com>

Mi infilo nella discussione per chiedere se a qualcuno va di fare un tali sulla costruzione di bundle :)


Mi pare che Leo ne avesse fatto uno proprio su questo tema al sfday:

Io posso fare un talk più generico su come pubblicare una libreria OS con composer e packagist (che ovviamente si applica anche al caso specifico dei bundle), visto che comunque Cirpo sembra intenzionato a limitarsi a un singolo talk.
Se però Andrea vuole presentare qualcosa lui, largo ai giovini! :-)

ciao
Massimiliano

Alessandro Nadalin

unread,
Nov 19, 2012, 5:24:04 AM11/19/12
to pug-...@googlegroups.com

2012/11/19 Andrea Giuliano <shar...@gmail.com>

Io credo che un logger è un logger. Dove vorresti fossero storati i dati?


graylog|new relic|fs|db|stderr|firephp

Come dicevo, in genere questo tipo di dati non sono utilissimo per i dev, bensi' per BI e test AB.
Inoltre *veramente* pochi nel mondo enterprise buttano i log su soli filesystem - e quando lo fanno normalmente usano MapReduce, saranno 2 o 3 :)

Quando ti ritrovi a dover fare log management la prima cosa che butti via sono i file, perche' non puoi raggrupparli e filtrarli facilmente, e terze parti e' difficile che ci si interfaccino: i log non sono piu' un tuo strumento per debuggare, bensi' parte integrante della tua applicazione.
Immagina Amazon che deve tenere traccia dell'inventario su diverse warehouse di terze parti (conta solo l'inbound): se gli stock update non arrivano per 3 ore questi si ritrovano senza meta' catalogo sul sito. E' in contesti molto ben strutturati e non solo legati al mero web dove ti serve che i log siano fatti bene: un sistema di monitoring dei log sul filesystem e' molto piu' scadente di graylog o anche solo il tuo DB.
Se poi ci aggiungi test AB esuli proprio dal mondo degli sviluppatori.

Questo bundle e' sicuramente ottimo, ma convinti che "un logger e' un logger" secondo me si fa poca strada. Io amplierei un po' le visioni, anche perche' con Monolog le cose le hai *quasi* a gratis.

Antonio Carella

unread,
Nov 19, 2012, 5:28:09 AM11/19/12
to pug-...@googlegroups.com
vero, ma non tutti erano al phpDay,
Leo, che ne dici di riproporlo? ( ammesso che a qualcun' altro interessi ;) )





--
Antonino Carella 
Web Developer
                                                                                  


VIA DOMENICO CUCCHIARI 46
00159 ROMA ( RM )

TEL 328.069.303.9
IVA 02341050819
C.F. CRLNNN78E02C286L

Sito web   |   LinkedIn   |   Twitter   |  Skype aczepod 



alessandro cinelli

unread,
Nov 19, 2012, 5:29:10 AM11/19/12
to pug-roma



2012/11/19 Antonio Carella <antonio...@gmail.com>

vero, ma non tutti erano al phpDay,
Leo, che ne dici di riproporlo? ( ammesso che a qualcun' altro interessi ;) )


ma non l'aveva proposto al symfonyDay e al pug roma due incontri fa?

aprite un altro topic perfavore.

cirpo



--
@cirpo

Alessandro Nadalin

unread,
Nov 19, 2012, 5:29:55 AM11/19/12
to pug-...@googlegroups.com
On Mon, Nov 19, 2012 at 2:29 PM, alessandro cinelli <alessandr...@gmail.com> wrote:



2012/11/19 Antonio Carella <antonio...@gmail.com>
vero, ma non tutti erano al phpDay,
Leo, che ne dici di riproporlo? ( ammesso che a qualcun' altro interessi ;) )


ma non l'aveva proposto al symfonyDay e al pug roma due incontri fa?


esatto, io eviterei di ripetersi

Andrea Giuliano

unread,
Nov 19, 2012, 6:00:44 AM11/19/12
to pug-...@googlegroups.com
Il bundle in questione è nato come uno strumento semplice, per loggare basicamente dei dati. La scelta di file di log è sicuramente la più semplice, ma io credo che gia in questo modo può essere di aiuto in diversi contesti. Ovviamente non è un applicativo sofisticato di logging e nemmeno una piattaforma da sfruttare stand-alone.
E' semplicemente un bundle per Symfony2, senza troppe pretese, che fa il suo lavoro (e a mio parere lo fa bene).
Ovviamente ti ringrazio per le dritte, sicuramente cercerò di aggiungere complessità per farlo diventare più completo.

> Questo bundle e' sicuramente ottimo, ma convinti che "un logger e' un logger" secondo me si fa poca strada. Io amplierei un po' le visioni, anche perche' con Monolog le cose le hai *quasi* a gratis.

Con "un logger è un logger" intendevo dire proprio quello che ho scritto qualche riga su. L'obiettivo era loggare dei dati nel modo più semplice possibile per avere, intanto, un prodotto che funziona e che fa il lavoro suo. Prendo spunto anche dal tuo interesse in questo senso che mi stimola ad aggiungere caratteristiche, dato che, a quanto ho capito, potrebbe essere utile anche a te. 

--
Andrea Giuliano

leonardo proietti

unread,
Nov 19, 2012, 7:46:15 AM11/19/12
to pug-...@googlegroups.com
>Ovviamente non è un applicativo sofisticato di logging e nemmeno una piattaforma da sfruttare stand-alone.
>E' semplicemente un bundle per Symfony2, senza troppe pretese, che fa il suo lavoro (e a mio parere lo fa bene)

ma infatti Shark, va bene così; tutto il discorso era teso ai possibili miglioramenti ;-)

Andrea Giuliano

unread,
Nov 19, 2012, 7:48:20 AM11/19/12
to pug-...@googlegroups.com
Perfetto, allora fra qualche giorni che ci saranno altri improvement mi direte ;)
--
Andrea Giuliano

Reply all
Reply to author
Forward
0 new messages