Hello, It doesn't work. Logger::configure(dirname(__FILE__) . '/../log4php.properties');
$logger = Logger::getRootLogger(); $appender = new LoggerAppenderFile("programmatically"); $layout = new LoggerLayoutPattern("[%p] %t %c - %m%n"); $appender->setLayout($layout); $appender->setFileName("programmatically.log"); $appender->setAppend(true); $appender->setThreshold("ALL"); $logger->addAppender($appender); echo $logger->isInfoEnabled() . "\n"; $allappenders = $logger->getAllAppenders(); foreach ($allappenders as $nappender){ echo $nappender->getName()."\n"; } $logger->info("info text"); With this code it write: 1 stdout R programmatically I'm using a config file too and the file appender defined on it works. log4php.properties content: #R - Default Log file appender. log4php.rootLogger=all, stdout, R log4php.appender.stdout=LoggerAppenderConsole log4php.appender.stdout.layout=LoggerLayoutPattern # Pattern to output the caller's file name and line number. #log4php.appender.stdout.layout.ConversionPattern=[%p] %t %c - %m%n log4php.appender.R=LoggerAppenderRollingFile log4php.appender.R.File=testrollingappender.log log4php.appender.R.MaxFileSize=100KB # Keep one backup file log4php.appender.R.MaxBackupIndex=1 log4php.appender.R.layout=LoggerLayoutPattern log4php.appender.R.layout.ConversionPattern=[%p] %t %c - %m%n Maybe, a programmatically appender cannot be added if a configure file is used? But it does not make any sense. Thanks, Miquel On Wednesday 14 April 2010 16:23:59 Christian Grobmeier wrote: > Hello, > > whats returned if you do: > > echo $logger->isInfoEnabled(); > > My guess is that info level is not enabled for the root logger > > Also you might need to set a threshhold for your appender: > $appender->setThreshold($threshhold); > > which is in fact a LoggerLevel. If you use ALL, you outputing all > > Pls let me know if that worked for you > > Christian > > 2010/4/13 Miquel Canes <miquel.ca...@cast-info.es>: > > Hello, > > > > I'm trying to add a file appender programmatically. > > > > I'm using this piece of code > > > > $logger = Logger::getRootLogger(); > > > > $appender = new LoggerAppenderFile("programmatically"); > > $layout = new LoggerLayoutPattern("[%p] %t %c - %m%n"); > > > > $appender->setLayout($layout); > > $appender->setFileName("programmatically.log"); > > $appender->setAppend(true); > > $logger->addAppender($appender); > > > > $allappenders = $logger->getAllAppenders(); > > foreach ($allappenders as $nappender){ > > echo $nappender->getName()."\n"; > > } > > > > $logger->info("info text"); > > > > > > > > It show the new appender when he print all the appenders but it doesn't > > create the new log file. > > > > How can I add a new file appender to the logger? > > > > Thanks, > > Miquel > > > > *Advertencia legal: en virtud de lo establecido en la Ley Orgánica > > 15/1999 de Protección de Datos de Carácter Personal, le informamos de > > que los datos personales que pueda facilitarnos se incorporaran a un > > fichero automatizado titularidad de CAST INFO, S.A. con la finalidad de > > gestionar la relación negocial que nos vincula. Podrá revocar su > > consentimiento al tratamiento de los datos, así como ejercer sus > > derechos de acceso, rectificación, cancelación u oposición dirigiéndose > > por escrito a CAST INFO domiciliada en C/ Tuset 23, 1º -- 08006 > > Barcelona, o a la dirección de correo electrónico l...@cast-info.es. > > > > Este mensaje y los ficheros anexos que pueda contener son confidenciales, > > pueden contener información sometida a secreto profesional y se dirige > > exclusivamente a su destinatario. Si ha recibido este mensaje por error > > o tiene conocimiento del mismo por cualquier motivo, le rogamos que nos > > lo comunique inmediatamente por este mismo medio y se abstenga de > > utilizarlo, reproducirlo, alterarlo, archivarlo o comunicarlo a > > terceros. El emisor no se responsabiliza de posibles perjuicios > > derivados de la captura, incorporaciones de virus o cualesquiera otras > > manipulaciones efectuadas por terceros. > > > > Antes de imprimir este e-mail piense bien si es necesario hacerlo. > > *Advertencia legal: en virtud de lo establecido en la Ley Org�nica 15/1999 > de Protecci�n de Datos de Car�cter Personal, le informamos de que los > datos personales que pueda facilitarnos se incorporaran a un fichero > automatizado titularidad de CAST INFO, S.A. con la finalidad de gestionar > la relaci�n negocial que nos vincula. Podr� revocar su consentimiento al > tratamiento de los datos, as� como ejercer sus derechos de acceso, > rectificaci�n, cancelaci�n u oposici�n dirigi�ndose por escrito a CAST > INFO domiciliada en C/ Tuset 23, 1� -- 08006 Barcelona, o a la direcci�n > de correo electr�nico l...@cast-info.es. > > Este mensaje y los ficheros anexos que pueda contener son confidenciales, > pueden contener informaci�n sometida a secreto profesional y se dirige > exclusivamente a su destinatario. Si ha recibido este mensaje por error o > tiene conocimiento del mismo por cualquier motivo, le rogamos que nos lo > comunique inmediatamente por este mismo medio y se abstenga de utilizarlo, > reproducirlo, alterarlo, archivarlo o comunicarlo a terceros. El emisor no > se responsabiliza de posibles perjuicios derivados de la captura, > incorporaciones de virus o cualesquiera otras manipulaciones efectuadas > por terceros. > > Antes de imprimir este e-mail piense bien si es necesario hacerlo.