Yii Framework Forum: Log Route dinamico - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Log Route dinamico loggare INFO solo quando lo dico io Rate Topic: -----

#1 User is offline   Inevitabile 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 5
  • Joined: 20-January 17

Posted 27 February 2017 - 05:32 AM

Ciao a tutti.
Ho bisogno di loggare la chiamata di un metodo su DB ma non posso scrivere una route specifica nel main.php.

Ho creato la classe di Log DB come indicato nel famoso tutorial:

Log su DB

Inserendo nel main.php la seguente riga, il logging funziona correttamente:

array(
				  'class'=>'LogDB',
				  'enabled'=>true,
				  'levels'=>'info',
				),


Ma non potendo, sto provando (senza successo) ad aggiungere la route dinamicamente nel solo metodo in cui mi serve (per evitare di riempire il DB di log di tipo info):

$cc = Yii::app()->getComponent('log');
$cc->setRoutes(array(
                'class'=>'CprLogDB',
		'connectionID'=>'db',
                'enabled'=>true,
                'levels'=>'info',
            ));


Purtroppo spostato qua, non funziona niente.

Dove sto sbagliando? Sull'internet, Stackoverflow compreso, non ho trovato esempi o spiegazioni su come usare la setRoutes.


Grazie.
0

#2 User is offline   Inevitabile 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 5
  • Joined: 20-January 17

Posted 28 February 2017 - 09:06 AM

Dopo vari test, sono andato a guardarmi direttamente la classe di LogRouter per capire come si aspettava le route arrivando alla conclusione che non si aspetta l'array così come lo mettereste nel main.php ma un oggetto.

$cc = Yii::app()->getComponent('log');
$dbLogRoute = new LogDB();
$dbLogRoute->enabled = true;
$dbLogRoute->levels = 'info';
$customRoutes = array($dbLogRoute);
$cc->setRoutes($customRoutes);


La soluzione funziona ed agisce solo all'interno del flusso corrente della pagina.
ATTENZIONE: La setRoutes lanciata come sopra, SOVRASCRIVE eventuali routes guadagnate dal main.php
Se dovete andare in aggiunta dovete necessariamente chiamare una getRoutes, ciclare la mappa e ricreare tutti i singoli oggetti in quanto la CMap ritornata, è in sola lettura e non potrete lanciarci sopra una add.


Spero di essere stati utili anche a voi.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users